[英]Converting list of strings to list of tuples
我想將列表[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 個)錯誤。
我怎樣才能解決這個問題?
您收到該錯誤是因為您將兩個 args 傳遞給 tuple(),這應該有效:
[tuple((element, len(element))) for element in a_list]
或更短:
[(element, len(element)) for element in a_list]
lst1 = ['bird', 'cake', 'day']
lst2 = [(i, len(i)) for i in lst1]
print(lst2)
出去:
[('bird', 4), ('cake', 4), ('day', 3)]
我假設你的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]]
您的代碼不起作用的原因是您更新了 for 循環中的element
引用。 這與a_list
的值不同。
使用列表理解試試這個:
element = ["bird", "cake", "day"]
new_list = [(i, len(i)) for i in element]
print(new_list)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.