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的帮助