gpt4 book ai didi

python - 如何将单词分配给列表中的值?

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:20 25 4
gpt4 key购买 nike

我有一个包含 4 个不同数字的列表,总共 10 个数字。对于这些数字中的每一个,我想分配一个颜色/单词。因此,问题是,我如何从数字列表转到颜色列表,其中每个相同的数字都由相同的颜色/单词表示?

初始列表:

my_list = [72, 50, 3, 50, 16, 72, 3, 72, 3, 50]

预期输出:

print(my_list) -> ['red', 'blue', 'green', 'blue', 'black', 'red', 'green', 'red', 'green', 'blue']

我尝试了什么?

我从 my_list 中提取了唯一数字:

my_list = [72,50,3,50,72,3,72,3,50]

UniqueList = list(set(my_list))
print(UniqueList)

现在我需要从颜色列表 ['red', 'blue', 'green', 'black', 'yellow', 'purple'] 中为这 4 个唯一数字中的每一个分配一种颜色,然后生成my_list 再次使用颜色。不幸的是,我不知道如何前进。有什么想法吗?

最佳答案

您可以创建一个查找字典:

my_list = [72, 50, 3, 50, 16, 72, 3, 72, 3, 50]
colors = ['red', 'blue', 'green', 'black', 'yellow', 'purple']

lookup = dict(zip(set(my_list), colors))
output = [lookup[number] for number in my_list]
print(output)

输出

['red', 'green', 'black', 'green', 'blue', 'red', 'black', 'red', 'black', 'green']

您可以将lookup 字典视为一个为其中一个数字分配颜色的函数。在上面的示例中,查找具有以下值:

{72: 'red', 16: 'blue', 50: 'green', 3: 'black'}

这意味着它会在每次 72 出现时分配 'red'。您可以像这样自定义 lookup:

lookup = {72 : 'green', 50 : 'black', 3 : 'yellow', 16: 'purple'}

这次每次72出现green都会被赋值。在 here 中查看有关如何创建词典的更多信息.

更新

如果您想保留列表中出现的顺序,您可以执行以下操作:

seen = set()
result = []
for e in my_list:
if e not in seen:
result.append(e)
seen.add(e)

print(result)

输出

[72, 50, 3, 16]

请注意列表 result 按出现顺序排列。

关于python - 如何将单词分配给列表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58386223/

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