将多个数组转换为单个数组列表

时间:2016-06-21 05:37:46

标签: python list python-3.x

我有多个1元素列表,我希望将其转换为1个单一列表:

当前列表:

['orange']
['apple']
['grape']
['banana']
['mango']

希望得到这样的输出:

['orannge', 'apple', 'grape', 'banana', 'mango']

我的目的是将带有1x3的数组写入csv文件

这是代码:

import csv
#import numpy as np

f1 = open('out.csv')
data = csv.reader(f1, delimiter=':')
print (data)
for row in data:
    #print(row)
    modules = print(row[2:])
    #for row in module:

    result = [[0,0]]

# iterate through rows
for i in modules:
    # iterate through columns
    for j in modules[0]:
        result[j][i] = X[i][j]

for r in result:
    print(r)  

#Try with zip/map
#print(map(data,zip(*module))
#with open('test.csv', 'wb') as f:
    #writer = csv.writer(f)
    #for row in module:
    #writer.writerow(module)
f1.close()

4 个答案:

答案 0 :(得分:0)

由于您保留列表列表,因此只需将列表展平:

inputlist = [['orange'],['apple'],['grape'],['banana'],['mango']]
outputlist = []
for i in inputlist:
  outputlist.append(i[0])

答案 1 :(得分:0)

根据您的原始问题,如果您将它们存储在数组lst中,那么下面的内容将按您的要求进行

NewArray =[lst[i][0] for i in range(0,len(lst)) ]

答案 2 :(得分:0)

要将1元素列表转换为单个列表,您可以执行以下操作:

mylists = [
    ['orange'],
    ['apple'],
    ['grape'],
    ['banana'],
    ['mango']
]

l = []
for item in mylists:
    l.append(item[0])

print(l)

输出:

['orange', 'apple', 'grape', 'banana', 'mango']

答案 3 :(得分:0)

@Tino正在问一个有效的问题。为了使其健壮,您需要从该源提供列表来自。但是现在,你可以简单地将每个项目单独附加到像<; p>这样的列表中

one = []
one.append(a.__getitem__(0) )
one.append(b.__getitem__(0) )
one.append(c.__getitem__(0) )
one.append(d.__getitem__(0) )
one.append(e.__getitem__(0) ) 
print one 

如果您在子列表中有项元素列表,则可以使用for循环;

my_list = [['orange'],['apple'],['grape'],['banana'],['mango']]
for n in my_list:
    one.append(n[0])