Python 列出详细信息和具体项目

Python 列出详细信息和具体项目,python,python-2.7,list-comprehension,Python,Python 2.7,List Comprehension,我有这样一份清单: list_input = [(a,b), (a,c), (a,d), (z,b), (z,e)] 我想在以“a”开头而不是以“z”开头时提取b、c和d,并将其放入列表中 我不知道怎么做,有什么建议吗?根据第一个值筛选列表项,收集第二个值: [second for first, second in list_input if first == 'a'] 演示: 根据第一个值筛选列表项,收集第二个值: [second for first, second in list_inp

我有这样一份清单:

list_input = [(a,b), (a,c), (a,d), (z,b), (z,e)]
我想在以“a”开头而不是以“z”开头时提取b、c和d,并将其放入列表中


我不知道怎么做,有什么建议吗?

根据第一个值筛选列表项,收集第二个值:

[second for first, second in list_input if first == 'a']
演示:


根据第一个值筛选列表项,收集第二个值:

[second for first, second in list_input if first == 'a']
演示:

用索引操纵它。您也可以显示特定的对

print ([(x,x[1]) for x in list_input if x[0]=="a"])
产出

>>> 
[(('a', 'b'), 'b'), (('a', 'c'), 'c'), (('a', 'd'), 'd')]
>>> 

用索引操纵它。您也可以显示特定的对

print ([(x,x[1]) for x in list_input if x[0]=="a"])
产出

>>> 
[(('a', 'b'), 'b'), (('a', 'c'), 'c'), (('a', 'd'), 'd')]
>>> 

您还可以显式地执行此操作:

In [8]: [list_input[i][1] for i in xrange(len(list_input)) if list_input[i][0] =='a']
Out[8]: ['b', 'c', 'd']

您还可以显式地执行此操作:

In [8]: [list_input[i][1] for i in xrange(len(list_input)) if list_input[i][0] =='a']
Out[8]: ['b', 'c', 'd']

这不是一个列表。你有一个正常的列表;这里没有涉及循环的
。这不是列表理解。你有一个正常的列表;这里不涉及
循环的
。我建议,在可用的选项中,您可以按照Martijn的方式执行。这是最好的。我刚刚发布了这篇文章,向你展示了另一种方法。。。向python的力量低头:PI建议,在可用的选项中,您可以按照Martijn的方式来做。这是最好的。我刚刚发布了这篇文章,向你展示了另一种方法。。。向python的力量鞠躬:感谢Martijn的帮助谢谢Martijn的帮助