我正在尝试打印列表列表中的第一项。这就是我所拥有的:
我的清单是这样的:
['32 2 6 6', '31 31 31 6', '31 2 6 6']
我的代码是:
from operator import itemgetter
contents = []
first_item = list(map(itemgetter(0), contents))
print first_item
但是itemgetter只返回: ['3','3','3']不是['32','31','31'] 我可以使用分隔符吗?
答案 0 :(得分:5)
您正在处理字符串列表,因此您将获得每个字符串的第一个索引,实际上3
为所有字符串。你应该做的是理解你在空间上拆分每个字符串(这是拆分的默认值)并得到第一个索引:
first_element = [s.split(None, 1)[0] for s in contents]
在理解中,每个s.split(None, 1)
的结果实际上是=>
['32', '2 6 6']
['31', '31 31 6']
['31', '2 6 6']
然后你得到第一个索引。
输出:
['32', '31', '31']
答案 1 :(得分:0)
>>> items = ['32 2 6 6', '31 31 31 6', '31 2 6 6']
>>> [s.partition(' ')[0] for s in items]
['32', '31', '31']