我想将列表转换[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条经验 获得超6个赞
您收到该错误是因为您将两个参数传递给 tuple() ,这应该有效:
[tuple((element, len(element))) for element in a_list]
或更短:
[(element, len(element)) for element in a_list]
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
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
提交
取消