给出以下列表:
colors=['#c85200','#5f9ed1','lightgrey','#ffbc79','#006ba4','dimgray','#ff800e','#a2c8ec'
,'grey','salmon','cyan','silver']
这个清单:
Hospital=['a','b','c','d']
根据列表的长度得到颜色数量后 - '医院':
num_hosp=len(Hospital)
colrs=colors[:num_hosp]
colrs
['#c85200', '#5f9ed1', 'lightgrey', '#ffbc79']
...并将列表压缩在一起:
hcolrs=zip(Hospitals,colrs)
接下来,如果提供一份来自“医院”的一家或多家医院的列表,我希望能够从一个或多个颜色中选择一种或多种颜色。
像这样:
newHosps=['a','c'] #input
newColrs=['#c85200','lightgrey'] #output
提前致谢!
答案 0 :(得分:1)
将zip
的结果传递给dict
构造函数,以便简单/快速地进行查找:
# Don't need to slice colors; zip stops when shortest iterable exhausted
hosp_to_color = dict(zip(Hospitals, colors))
然后使用它:
newHosps = ['a','c']
newColrs = [hosp_to_color[h] for h in newHosps]