我想將列表轉換[bird, cake, day]為[(bird, 4), (cake, 4), (day, 3)]格式[(element, len(element))]。我做到了for element in a_list:
element = tuple(element, len(element))但獲取 tuple() 最多需要 1 個參數(給定 2 個)錯誤。我怎樣才能解決這個問題?
4 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
您收到該錯誤是因為您將兩個參數傳遞給 tuple() ,這應該有效:
[tuple((element, len(element))) for element in a_list]
或更短:
[(element, len(element)) for element in a_list]

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
lst1 = ['bird', 'cake', 'day']
lst2 = [(i, len(i)) for i in lst1]
print(lst2)
出去:
[('bird', 4), ('cake', 4), ('day', 3)]

慕容3067478
TA貢獻1773條經驗 獲得超3個贊
使用列表理解嘗試這個:
element = ["bird", "cake", "day"]
new_list = [(i, len(i)) for i in element]
print(new_list)

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
我假設你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 循環中的引用。這不是對 中的值的相同引用a_list。
添加回答
舉報
0/150
提交
取消