首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python获取列表元素(如果匹配)

Python获取列表元素(如果匹配)
EN

Stack Overflow用户
提问于 2016-06-14 16:59:47
回答 1查看 25关注 0票数 1

鉴于以下清单:

代码语言:javascript
复制
colors=['#c85200','#5f9ed1','lightgrey','#ffbc79','#006ba4','dimgray','#ff800e','#a2c8ec'
,'grey','salmon','cyan','silver']

这张清单是:

代码语言:javascript
复制
Hospital=['a','b','c','d']

在我根据名单的长度得到颜色的数目后-‘医院’:

代码语言:javascript
复制
num_hosp=len(Hospital)
colrs=colors[:num_hosp]

colrs
['#c85200', '#5f9ed1', 'lightgrey', '#ffbc79']

...and将列表压缩到一起:

代码语言:javascript
复制
hcolrs=zip(Hospitals,colrs)

接下来,我希望能够从hcolrs选择一个或多个颜色,如果给出一个或多个医院从‘医院’的列表。

如下所示:

代码语言:javascript
复制
newHosps=['a','c'] #input
newColrs=['#c85200','lightgrey'] #output

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-14 17:02:09

zip的结果传递给dict构造函数,使查找变得简单/快速:

代码语言:javascript
复制
# Don't need to slice colors; zip stops when shortest iterable exhausted
hosp_to_color = dict(zip(Hospitals, colors))

然后使用它:

代码语言:javascript
复制
newHosps = ['a','c']
newColrs = [hosp_to_color[h] for h in newHosps]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37818070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档