我有下面的列表名为mylist,我想从每个列表中获取第一个元素并创建一个元组。我想对列表列表中的所有n个元素执行此操作。
mylist = [[1,2,3], ['a', 'b', 'c'], [5, 8, 10], [100, 200, 30]]
转换为
mytuple = ((1,'a', 5, 100) ,(2,'b', 8, 200), (3,'c',10, 30))
我已经成功完成了以下步骤,我确信有更好的方法:)
i = 0;
while(i < n):
templist = (x[i] for x in mylist)
newlist.append(tuple(templist))
i += 1
ftuple = tuple(newlist)
答案 0 :(得分:3)
zip
就是您所需要的:
grep
答案 1 :(得分:1)
你可以使用pandas数据框。
import pandas as pd
mylist = [[1,2,3], ['a', 'b', 'c'], [5, 8, 10], [100, 200, 30]]
df = pd.DataFrame(mylist).transpose()
print(df.values)
array([[1, 'a', 5, 100],
[2, 'b', 8, 200],
[3, 'c', 10, 30]], dtype=object)
对于完全相同形式的解决方案:
tuple([tuple(row) for row in df.values])
((1, 'a', 5, 100), (2, 'b', 8, 200), (3, 'c', 10, 30))