gpt4 book ai didi

创建字典时遇到Python脚本,对于字典的每个键,有多个值(300个条目)列表

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

我是初学者。我编写了一个脚本,它接受 1000 万个条目的输入列表(以 a:b 的形式,其中 a 和 b 是字母数字)。

现在我想根据这些条目创建一个字典。对于许多列表条目,第二部分(冒号之后)很常见。 (例如 a:b、f:b、k:b——在这种情况下,我的键将是 b,值将是列表 [a,f,k])。

但不知怎的,我的剧本被击中了。我从日志中可以看到脚本已被执行并且日志大小没有增加。 (对于我的字典的每个键,都有一个大小在 400 到 500 之间的列表。这会是一个问题吗?)

如果我的输入列表包含较少的条目,我的脚本工作正常。

列表名称匹配

print 'match2 list: %s' % match2 # it shows the 10 million entries in form of a:b as expected 
for i in xrange(len(match2)):
print 'Before Splitted variable : %s' % match2[i] # this print is for information
templist = re.split(':', '%s' % match2[i])
print 'Splitted list : %s' % templist # this print is for information
length3 = len(templist)
print "Length3 :%d" %length3
key1 = templist[1]
value1 = templist[0]
if example.has_key(key1):
example[key1].append(value1)
else:
example[key1] = value1

请提出您的建议。

最佳答案

我怀疑问题出在这里:

if example.has_key(key1):
example[key1].append(value1)
else:
example[key1] = value1

example不包含key1时,它会为其创建一个新条目,其值为字符串value1。如果示例确实包含key1,它会尝试将字符串value1附加到已经存在的内容中。然而,这是没有意义的。您不能使用 append 附加两个字符串。

您可能想要:

if example.has_key(key1):
example[key1].append(value1)
else:
example[key1] = [value1] #the value is a list containing one string

关于创建字典时遇到Python脚本,对于字典的每个键,有多个值(300个条目)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888630/

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