抓取Python列表中的第二个元组

抓取Python列表中的第二个元组,python,list,parsing,unicode,tuples,Python,List,Parsing,Unicode,Tuples,我试图在Python中获取列表中的第二项 例如: people=['John Doe',u'',u'25.78',u''],['John Doe',u'',u'13.39',u'',['John Doe',u'',u'11.93',u'0.00'],['John Doe',u'',u'14.34',u'],['John Doe',u'',u'21.08',u'],['John Doe',u',u'13.24',u'14.97',u'0.00',u'],[John Doe',u'',u'19.45

我试图在Python中获取列表中的第二项

例如:

people=['John Doe',u'',u'25.78',u''],['John Doe',u'',u'13.39',u'',['John Doe',u'',u'11.93',u'0.00'],['John Doe',u'',u'14.34',u'],['John Doe',u'',u'21.08',u'],['John Doe',u',u'13.24',u'14.97',u'0.00',u'],[John Doe',u'',u'19.45',u'0.00'],[John Doe',u'',u'17.56',u'],[John Doe',u'',u'20.57',u'],[John Doe',u'',u'24.38',u'0.00'],[John Doe',u'',u'',u'31.13',u'],[John Doe',u'',u'',u'17.20',u'],[John Doe',u'',u'18',u'0.00',u'],['John Doe',u',u'17.31',u'].

我要做的是抓住列表中每个列表的第三个元素

我希望我的回报是:

['25.78'、'13.39'、'11.93'、'14.97'、'14.34']
等等

还有,积分。列表中每个项目前面的
u
会影响什么吗

In [57]: people = [['John Doe', u'', u'25.78', u''], ['John Doe', u'', u'13.39', u''], ['John Doe', u'', u'11.93', u'0.00'], ['John Doe', u'', u'14.97', u'0.00'], ['John Doe', u'', u'14.34', u''], ['John Doe', u'', u'21.08', u''], ['John Doe', u'', u'13.24', u''], ['John Doe', u'', u'13.11', u'0.00'], ['John Doe', u'', u'', u''], ['John Doe', u'', u'19.45', u'0.00'], ['John Doe', u'', u'17.56', u''], ['John Doe', u'', u'20.57', u''], ['John Doe', u'', u'28.50', u''], ['John Doe', u'', u'24.38', u'0.00'], ['John Doe', u'', u'31.13', u''], ['John Doe', u'', u'17.20', u''], ['John Doe', u'', u'18.52', u'0.00'], ['John Doe', u'', u'6.42', u'0.00'], ['John Doe', u'', u'17.31', u'']]

In [58]: [p[2] for p in people]
Out[58]: 
[u'25.78',
 u'13.39',
 u'11.93',
 u'14.97',
 u'14.34',
 u'21.08',
 u'13.24',
 u'13.11',
 u'',
 u'19.45',
 u'17.56',
 u'20.57',
 u'28.50',
 u'24.38',
 u'31.13',
 u'17.20',
 u'18.52',
 u'6.42',
 u'17.31']
字符串前面的
u
基本上表示它们是unicode字符串。如果要将它们转换为常规ascii字符串(假设它们只有ascii字符):

字符串前面的
u
基本上表示它们是unicode字符串。如果要将它们转换为常规ascii字符串(假设它们只有ascii字符):


您可以使用简单的列表理解来获取第三个元素

numbers = [i[2] for i in people]
u
表示它是一个unicode字符串。假设它包含
ascii
字符(在本例中是这样的),如果不需要unicode,可以使用
str

numbers = [str(i[2]) for i in people]

您可以使用简单的列表理解来获取第三个元素

numbers = [i[2] for i in people]
u
表示它是一个unicode字符串。假设它包含
ascii
字符(在本例中是这样的),如果不需要unicode,可以使用
str

numbers = [str(i[2]) for i in people]

在这里,它是一样的numpy

people = numpy.array(people)
print people[:,2]

在这里,它是一样的numpy

people = numpy.array(people)
print people[:,2]
另外,只是为了好玩:

result = []
for x in range(len(people)):
    result.append(people[x][2])
另外,只是为了好玩:

result = []
for x in range(len(people)):
    result.append(people[x][2])

@wim它可能不是一种聪明的或类似于蟒蛇的方式,但它是有效的。@wim它可能不是一种聪明的或类似于蟒蛇的方式,但它是有效的。