0

我有一个字符串列表,例如

['ABC', 'DEF', 'GHIJ']

我想要一个包含每个字符串的第一个字母的字符串列表,即

['A', 'D', 'G'].

我考虑过使用 map 和返回列表第一个元素的函数来做到这一点:my_list[0]。但我怎么能把这个传递给map

谢谢。

4

6 回答 6

5

你可以试试

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

In [15]: [x[0] for x in l]
Out[15]: ['A', 'D', 'G']
于 2013-04-01T09:59:21.260 回答
1

应该使用列表推导,例如@avasal ,因为它更 Pythonic,但这里是如何使用map

>>> from operator import itemgetter   
>>> L = ['ABC', 'DEF', 'GHIJ'] 
>>> map(itemgetter(0), L)
['A', 'D', 'G']
于 2013-04-01T09:59:05.633 回答
1

像这样使用列表理解:

results = [i[0] for i in mySrcList]
于 2013-04-01T10:02:21.937 回答
1

单程:

l1=['ABC', 'DEF', 'GHIJ']
l1=map(lambda x:x[0], l1)
于 2013-04-01T10:05:45.977 回答
0
a=['ABC','DEF','GHI']
b=[]
for i in a:
    b.append(i[0])

b是你需要的数组。

于 2013-04-01T10:02:08.373 回答
-1

试试这个。

>>> myArray=['ABC', 'DEF', 'GHIJ']
>>> newArray=[]
>>> for i in map(lambda x:x[0],myArray):
...     newArray.append(i)
...
>>> print(newArray)
['A', 'D', 'G']
于 2013-04-01T10:11:24.417 回答