簡體   English   中英

將字符串列表轉換為元組列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM