gpt4 book ai didi

python - 需要编写一个函数来接收颜色列表,并输出它们的负颜色(来自字典的对)

转载 作者:行者123 更新时间:2023-12-01 00:24:44 25 4
gpt4 key购买 nike

我已经使用列表理解完成了此操作,但我的代码无论如何都不能令人满意。如何让它变得更短、更高效?请注意,我无法更改 cols 字典,并且最好不要使用任何库。

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')]
col_to_negative = {}
col_to_negative.update(cols)
col_to_negative.update((value, key) for key, value in cols)

return [col_to_negative[col] for col in L]

您还可以预先计算 col_to_negative 一次,然后在每次调用时使用它

关于python - 需要编写一个函数来接收颜色列表,并输出它们的负颜色(来自字典的对),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58684996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com