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

你们中的任何人都可以帮助我确定我做错了什么吗?我知道这可能很简单,但我对编程和 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


开满天机
浏览 125回答 3
3回答

隔江千里

当你执行 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']

慕尼黑的夜晚无繁华

您不是将每个项目转换为字符串,而是将整个列表转换为字符串。相反,尝试这个列表理解:str_repl_list = [str(i) for i in str_list]这将遍历每个项目并将其转换为字符串,然后将其存储在新列表中。

潇湘沐

由于您要附加列表中的每个元素new_str_list,为了查看所需的结果,您需要将它们打印在一起,因此您需要将它们连接到一个字符串中,然后添加字符串中的所有元素。因此要看到所需的结果,您只需将所有元素添加在一起可以这样做str_list_final = ''.join(new_str_list)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python