2013-04-01 176 views

回答

1

应该使用列表理解,就像@avasal因为它是更Python,但在这里是如何与map做到这一点:

>>> from operator import itemgetter 
>>> L = ['ABC', 'DEF', 'GHIJ'] 
>>> map(itemgetter(0), L) 
['A', 'D', 'G'] 
+0

谢谢,表现出两种方式。 – Elrond1337

+0

@ Elrond1337没问题,这种方法会更快,但它只是不成熟的优化,几乎在任何情况下都不明显。肯定会有更好看的列表comp – jamylak

5

你可以尝试

In [14]: l = ['ABC', 'DEF', 'GHIJ'] 

In [15]: [x[0] for x in l] 
Out[15]: ['A', 'D', 'G'] 
+0

注意:小写'l'可能与数字'1'混淆。你应该改变你的名单。 – jamylak

0
a=['ABC','DEF','GHI'] 
b=[] 
for i in a: 
    b.append(i[0]) 

b是你需要的数组。

1

使用列表理解像这样:

results = [i[0] for i in mySrcList] 
1

方式一:

l1=['ABC', 'DEF', 'GHIJ'] 
l1=map(lambda x:x[0], l1) 
-1

试试这个。

>>> myArray=['ABC', 'DEF', 'GHIJ'] 
>>> newArray=[] 
>>> for i in map(lambda x:x[0],myArray): 
...  newArray.append(i) 
... 
>>> print(newArray) 
['A', 'D', 'G'] 
相关问题