【发布时间】:2024-06-17 01:45:02
【问题描述】:
我有以下代码:
import random
dic = {2:[],4:[]}
lis = []
# Create a random dataset of 10 lists
for number in range(0,10):
# Each list consists of 8 random numbers ...
lis.append(random.sample(range(0,9),8))
# ... followed by a 2 or 4, corresponding to dic keys
lis[-1].append(random.randint(2,4))
# Iterate through lis. Append sublists to dic values, using key per
# last item of sublist, 2 or 4. Strip the key itself.
for i in lis:
dic[i[-1]].append(i[:-1]) # <----- getting a key error here
# End result should be dic looking like this (shortened):
# dic = {2:[[1,2,5,0,8],[0,4,2,8,3]],4:[[6,2,3,6,2],[2,2,3,1,3]]}
如评论中所示,我在尝试追加时遇到关键错误
dic 内的值的子列表。无法弄清楚为什么。帮忙?
【问题讨论】:
-
您希望我们解决什么问题?
-
另外,你为什么要去掉最后的 2/4?这与你的散文不一致。
-
如果您无法更好地解释您想要什么,请向我们展示您希望
lis和dic在流程结束时的样子。 -
@MadPhyicist,字典中已经标注了 2/4,我希望附加列表的其余部分。请参阅我对问题所做的编辑。谢谢!
-
如果您想避免被否决,请阅读帮助文件,尤其是tour 和how to ask。 Jon Skeet’s article 也是一本好书。
标签: python python-3.x keyerror