dic_1 = {“ 1234567890”:“ 1”,这是第一个卡号,因此我们给它编号1 “ 1234567891”:“ 2”,这是第二个卡号,因此我们给它编号2 “ 1234567880”:“ 3”,这是第二张卡号,所以我们给它编号3 “ 1234567881”:“ 4”, “ 1234567890”:“ 1”,我们已经为此编号指定了编号,因此我们不分配 为此使用一个新的数字,我们保留之前给出的数字
我想做的是
答案 0 :(得分:0)
如果您不关心卡的插入顺序,那么我认为最简单的解决方案如下:
card_list = ["a", "b", "c", "d", "e", "a", "b"]
dic1 = {card:num for card,num in enumerate(set(card_list))}
输出:
{0: 'e', 1: 'b', 2: 'a', 3: 'c', 4: 'd'}
您正在从一组值列表中构建字典(删除重复项),并且枚举将从0
到len(card_list)-1
开始计数。
-
如果订单对您很重要,那么您可以执行以下操作:
card_list = ["a", "b", "c", "d", "e", "a", "b"]
dic1 = {}
counter = 1
for card in card_list:
if not card in dic1:
dic1[card] = counter
counter += 1
输出:
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}