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)
添加回答
舉報