所以我有一个列表中的列表中的“合并”的列表:使用列表理解列表
每一个嵌套列表是相同的:前2个元素是由字母串,其余都是字符串由数字组成。
我想所有的串号转换为花车和各相应的嵌套列表的串号集中到自己的列表(这最终是一个双嵌套列表),所以最后的结果是这样的:
final = [['abc','efg', [ 4.3, 5.7, 80085]], ['aba','bab', [ 1.0, 9.0, 3.0]] , ... , ... ]
所以我的方法是使用列表理解将字符串数字转换为浮点数,然后将这些数字和字母串分割成单独的列表并合并它们。
bloop = [[float(x) for x in y[2:]] for y in woot]
bleep = [[x for x in y[:2]] for y in woot]
所以我结束了:
bloop = [[ 4.3, 5.7, 8005.0],[ 1.0, 9.0, 3.0], ... , ... ]
bleep = [['abc','efg'],['aba','bab'], ... , ... ]
这里是我打破,似乎无法绕到我的头“合并”这些名单。
final = []
for i in bleep:
final.append(i)
for i in bloop:
final.append(i)
不幸的是,这只是把名单在一起,例如:
[['abc','efg'],['aba','bab'],[ 4.3, 5.7, 8005.0],[ 1.0, 9.0, 3.0]]
什么你问它这正是做... – jonrsharpe
边注:'[[X中X Y [2]在活泉Y]'等同于'[ y [:2] for y in woot]' –
另一面说明:尽量不要滥用list理解。它可以在大多数情况下为你节省几个字符,但它也可能使你的代码难以阅读和缓慢。 –