【发布时间】:2015-09-17 19:29:33
【问题描述】:
有没有一种快速简单的方法来转换列表(假设列表长度相同):
numbers = [1, 2, 3, 4]
letters = ['a', 'b', 'c', 'd']
fruits = ['orange', 'apple', 'banana', 'kiwi']
以这种形式与子列表合二为一:
list = [ [1, 'a', 'orange'],
[2, 'b', 'apple'],
[3, 'c', 'banana'],
[4, 'd', 'kiwi'] ]
或最终
list = [ {'number': 1, 'letter': 'a', 'fruit': 'oranges'},
{'number': 2, 'letter': 'b', 'fruit': 'apple'},
{'number': 3, 'letter': 'c', 'fruit': 'banana'},
{'number': 4, 'letter': 'd', 'fruit': 'kiwi'} ]
或者我必须使用多个循环吗?
【问题讨论】:
-
对于数值,使用 numpy 很容易(将是 vstack((numbers, letters, fruits)).T ),但是 numpy 没有为任意列表提供合适的解决方案 afaik。
-
@stewori 我希望你的意思是“没有合适的解决方案with
numpy”。 -
当然。我刚刚澄清了。对于数值数据,numpy-solution 应该比下面的通用答案更受欢迎。
-
好的,谢谢。在我的真实代码中,我有数值(主要是浮点数)。
-
为什么我的问题是重复的?主题“如何从多维数组中提取列?”没有回答我的问题...