为了账号安全,请及时绑定邮箱和手机立即绑定

列表、转换 Str 列表、替换值、打印新的 str 列表。

列表、转换 Str 列表、替换值、打印新的 str 列表。

开满天机 2023-12-26 15:16:49
你们中的任何人都可以帮助我确定我做错了什么吗?我知道这可能很简单,但我对编程和 Python 很陌生。我需要返回['*', '2', '3', '*', '5']。相反,我在列表中获得了更多的值。测试替换列表中的值repl_list = [1, 2, 3, 1, 5]str_repl_list = str(repl_list)# print('This is the list to replace: ' + str_repl_list)# print(type(str_repl_list[0]))new_str_list = []`enter code here`print(new_str_list)for item in str_repl_list:    replacement = item.replace('1', '*')    new_str_list.append(replacement)    for index, char in enumerate(new_str_list):        print(index, char) # This is to identify what information is being taken as par of the new list
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

当你执行 a 时str(repl_list),输出是一个 string '[1, 2, 3, 1, 5]',而不是字符串列表,所以如果你迭代str_repl_list你会得到


1

,

 

2

,

 

3

,

 

1

,

 

5

]

相反,您可以避免该步骤并将每个项目转换为 for 循环内的字符串 ( str(item) )


repl_list = [1, 2, 3, 1, 5]

new_str_list = []

for item in repl_list:

  replacement = str(item).replace('1', '*')

  new_str_list.append(replacement)


>>> print(new_str_list)

>>> ['*', '2', '3', '*', '5']

您还可以使用列表理解


>>> print(['*' if x == 1 else str(x) for x in repl_list])

>>> ['*', '2', '3', '*', '5']


查看完整回答
反对 回复 2023-12-26
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

您不是将每个项目转换为字符串,而是将整个列表转换为字符串。相反,尝试这个列表理解:

str_repl_list = [str(i) for i in str_list]

这将遍历每个项目并将其转换为字符串,然后将其存储在新列表中。


查看完整回答
反对 回复 2023-12-26
?
潇湘沐

TA贡献1816条经验 获得超6个赞

由于您要附加列表中的每个元素new_str_list,为了查看所需的结果,您需要将它们打印在一起,因此您需要将它们连接到一个字符串中,然后添加字符串中的所有元素。

因此要看到所需的结果,您只需将所有元素添加在一起

可以这样做

str_list_final = ''.join(new_str_list)


查看完整回答
反对 回复 2023-12-26
  • 3 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信