如果我有2000个字符串的数据库,那么可以说其中3个是: “黄色” “蓝色” “红色”
我需要以某种方式为上述数据库中的每个项目赋值,然后进行比较。例如,如果比较“黄色”和“蓝色”,我希望Python输出一个或另一个更大。显然,这些值是手动分配的,但我无法提出一种方法来为程序提供比较结果。
现在,我正在考虑将每个字符串编码为变量,并为其分配一个数字,因此如果我分配: 蓝色= 6 红色= 5 它会告诉我蓝色比红色高,但是我不确定它是否有效,尤其是大约2000个字符串将被转换为变量时。
答案 0 :(得分:1)
不设置2000个变量。使用dict
。例如:
>>> wordlist = ["yellow", "blue", "red"]
>>> mydict = dict(zip(wordlist, range(2000)))
>>> mydict
{'yellow': 0, 'blue': 1, 'red': 2}
您实际上如何构造wordlist
取决于您的数据库的外观,因此我无法提供任何建议。您也不会说要如何得出这些值。如果您希望单词按字母升序(所以"blue" < "red" < "yellow"
),请先对其进行排序:
>>> wordlist.sort()
>>> wordlist
['blue', 'red', 'yellow']
像dict
中那样从myvalue=mydict["yellow"]
检索值非常。