['ABC', 'DEF', 'GHIJ']
字符串列表,我想包含每个字符串的第一个字母的字符串列表,即
['A', 'D', 'G'].
我想过使用map和返回列表的第一个元素的函数:my_list[0]
。但我怎么能通过这个map
?
谢谢。
['ABC', 'DEF', 'GHIJ']
字符串列表,我想包含每个字符串的第一个字母的字符串列表,即
['A', 'D', 'G'].
我想过使用map和返回列表的第一个元素的函数:my_list[0]
。但我怎么能通过这个map
?
谢谢。
您应该使用列表理解,就像@avasal因为它是更Python,但在这里是如何与map
做到这一点:
>>> from operator import itemgetter
>>> L = ['ABC', 'DEF', 'GHIJ']
>>> map(itemgetter(0), L)
['A', 'D', 'G']
你可以尝试
In [14]: l = ['ABC', 'DEF', 'GHIJ']
In [15]: [x[0] for x in l]
Out[15]: ['A', 'D', 'G']
注意:小写'l'可能与数字'1'混淆。你应该改变你的名单。 – jamylak
a=['ABC','DEF','GHI']
b=[]
for i in a:
b.append(i[0])
b
是你需要的数组。
使用列表理解像这样:
results = [i[0] for i in mySrcList]
方式一:
l1=['ABC', 'DEF', 'GHIJ']
l1=map(lambda x:x[0], l1)
试试这个。
>>> myArray=['ABC', 'DEF', 'GHIJ']
>>> newArray=[]
>>> for i in map(lambda x:x[0],myArray):
... newArray.append(i)
...
>>> print(newArray)
['A', 'D', 'G']
谢谢,表现出两种方式。 – Elrond1337
@ Elrond1337没问题,这种方法会更快,但它只是不成熟的优化,几乎在任何情况下都不明显。肯定会有更好看的列表comp – jamylak