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']
TA贡献1864条经验 获得超6个赞
您不是将每个项目转换为字符串,而是将整个列表转换为字符串。相反,尝试这个列表理解:
str_repl_list = [str(i) for i in str_list]
这将遍历每个项目并将其转换为字符串,然后将其存储在新列表中。
TA贡献1816条经验 获得超6个赞
由于您要附加列表中的每个元素new_str_list
,为了查看所需的结果,您需要将它们打印在一起,因此您需要将它们连接到一个字符串中,然后添加字符串中的所有元素。
因此要看到所需的结果,您只需将所有元素添加在一起
可以这样做
str_list_final = ''.join(new_str_list)
添加回答
举报