3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
當(dāng)你執(zhí)行 a 時(shí)str(repl_list),輸出是一個(gè) string '[1, 2, 3, 1, 5]',而不是字符串列表,所以如果你迭代str_repl_list你會得到
1
,
2
,
3
,
1
,
5
]
相反,您可以避免該步驟并將每個(gè)項(xiàng)目轉(zhuǎn)換為 for 循環(huán)內(nèi)的字符串 ( 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貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
您不是將每個(gè)項(xiàng)目轉(zhuǎn)換為字符串,而是將整個(gè)列表轉(zhuǎn)換為字符串。相反,嘗試這個(gè)列表理解:
str_repl_list = [str(i) for i in str_list]
這將遍歷每個(gè)項(xiàng)目并將其轉(zhuǎn)換為字符串,然后將其存儲在新列表中。

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
由于您要附加列表中的每個(gè)元素new_str_list
,為了查看所需的結(jié)果,您需要將它們打印在一起,因此您需要將它們連接到一個(gè)字符串中,然后添加字符串中的所有元素。
因此要看到所需的結(jié)果,您只需將所有元素添加在一起
可以這樣做
str_list_final = ''.join(new_str_list)
添加回答
舉報(bào)