4 回答

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
您收到該錯(cuò)誤是因?yàn)槟鷮蓚€(gè)參數(shù)傳遞給 tuple() ,這應(yīng)該有效:
[tuple((element, len(element))) for element in a_list]
或更短:
[(element, len(element)) for element in a_list]

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
lst1 = ['bird', 'cake', 'day']
lst2 = [(i, len(i)) for i in lst1]
print(lst2)
出去:
[('bird', 4), ('cake', 4), ('day', 3)]

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用列表理解嘗試這個(gè):
element = ["bird", "cake", "day"]
new_list = [(i, len(i)) for i in element]
print(new_list)

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
我假設(shè)你a_list是字符串。這有效。
a_list = ["bird", "cake", "day"]
new_list = []
for element in a_list:
new_list.append([element, len(element)])
print(new_list)
[['鳥', 4], ['蛋糕', 4], ['天', 3]]
您的代碼不起作用的原因是您更新了elementfor 循環(huán)中的引用。這不是對(duì) 中的值的相同引用a_list。
添加回答
舉報(bào)