我在尝试解决这个问题时遇到了一些问题(因为我是python的纯粹初学者)
我有一份名单:
names_2 = ["Lars", "Per", "Henrik"]
我需要将其转换为一个元组,元组包含每个元素的长度+元素本身
我试过这个:
namesTuple = tuple(names_2 + [len(name) for name in names_2])
这个的输出是:('Lars', 'Per', 'Henrik', 4, 3, 6)
我正在寻找的输出是('Lars', 4, 'Per', 3, 'Henrik', 6)
有人能帮忙吗
Tags:
迭代名称,将名称本身及其长度附加到列表中,然后将列表转换为元组。
或者作为一行程序(但最终会得到一个元组的元组):
您可以在
tuple
构造函数中使用嵌套的生成器表达式,例如:如果要以循环方式构建它,那么首先构建一个列表是有意义的(元组是不可变的):
使用长度列表压缩名称列表,然后展平结果列表并将其转换为元组
如果您更喜欢不太“功能性”的内容,可以使用生成器表达式
或(重复@schwobaseggl's answer)
相关问题 更多 >
编程相关推荐