我已经使用列表理解来做到这一点,但是我的代码无论如何都不令人满意。如何使其更短,更有效?请注意,我无法更改cols
dict,最好不要使用任何库。
def RevertCol(L):
cols = {'white': 'black', 'red' : 'green', 'yellow': 'blue'}
negative = []
keys = cols.keys()
values = cols.items()
for col in L:
if col in keys:
negative.append(cols.get(col))
else:
for m, t in values:
if t == col:
negative.append(m)
return negative
在:
RevertCol(['red', 'white'])
出:
['green', 'black']
复制您的字典并添加还原的条目。然后,只需使用列表推导:
def RevertCol(L):
cols = {'white': 'black', 'red' : 'green', 'yellow': 'blue'}
cols_new = cols.copy()
cols_new.update(dict([(value, key) for key, value in cols.items()]))
return [cols_new.get(col) for col in L]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句