我目前有一个列表,用于存储我从文件中读取的URL。然后我通过将这些URL映射到一个简单的密钥(0,1,2,3等)来创建一个字典。 现在我想确保如果同一个URL再次显示它没有映射到不同的密钥。所以我试图做一个条件语句来检查。基本上我想检查列表中的项(URL)是否与字典中任何键的值相同。如果它是我不想再添加它,因为那将是多余的。 我不确定在if条件语句中放入什么内容才能使用。
pairs = {} #my dictionary
for i in list1:
if ( i == t for t in pairs ):
i = i +1
else:
pairs[j] = i
j = j + 1
任何帮助将不胜感激! 谢谢。
答案 0 :(得分:0)
这可能是您正在寻找的。它将唯一值添加到pairs
,从零开始对它们进行编号。重复的值将被忽略,不会影响编号:
pairs = {}
v = 0
for k in list1:
if k not in pairs:
pairs[k] = v
v += 1
答案 1 :(得分:0)
要将列表中的项目映射到增加的整数键,这是一个令人愉快的习语,它使用collections.defaultdict
将自己的长度作为默认工厂
import collections
map = collections.defaultdict()
items = 'aaaabdcdvsaafvggddd'
map.default_factory = map.__len__
for x in items:
map[x]
print(map)
答案 2 :(得分:0)
您可以通过简单的pairs.values()
访问dict(对)中的所有值。在if
条件下,您可以添加另一个条件来检查字典值中是否已存在新项目。