将字符串列表转换为元组列表

我想将列表转换[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 个)错误。

我怎样才能解决这个问题?



慕容森
浏览 127回答 4
4回答

LEATH

您收到该错误是因为您将两个参数传递给 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)]

慕容3067478

使用列表理解尝试这个:element = ["bird", "cake", "day"]new_list = [(i, len(i)) for i in element]print(new_list)

慕的地10843

我假设你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。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python