如何比较列表在Python
问题描述:
如果我有3个表是这样的:如何比较列表在Python
general_list = ['P' , 'J' , 'C', 'H' , 'O']
real_list = ['Python', 'Java' , 'C' , 'Html' , 'Other']
,并呼吁其他列表
selected_items = [ 'Python' , 'Php']
我想selected_items
与real_list
比较,所以我可以有当结果元素在列表0 or 1,
所以我想要做这样的事情:[ 1 , 0 , 0, 0 , 1]
然后检查general_list中的项目何时被选中并得到如下结果['P' , 'O']
我真的不知道该怎么做?
答
您可以用两个列表内涵做到这一点:
inlist = [True if x in selected_items else False for x in real_list]
result = [v for i, v in enumerate(general_list) if inlist[i]]
答
好像一个XY problem。如果你真正想要的是用selected_items
来获得最终结果,那么:
this_is_useful = {'Python': 'P', 'Java': 'J', 'C': 'C', 'Html': 'H'}
然后,你可以通过做
if 'Python' in this_is_useful:
print "Yes!"
检查'Python'
属于要获得最终结果:
selected_items = [ 'Python' , 'Php' ]
result = [this_is_useful.get(l, 'O') for l in selected_items]
什么尝试到目前为止? – MSeifert
应该试一试吗?铅笔和纸张会是一个好的开始? –
@MSeifert我只是不知道从哪里开始,所以为此我询问了任何想法,因为我不想让别人为我编码,只是给我一个提示 – EgzEst