【发布时间】:2019-12-18 16:23:49
【问题描述】:
所以下面的代码,有点粗糙,但我已经尝试调试了一段时间。
所以本质上 lolbinsbehaviouralshellcommands 是一个列表的字典,预先填充了许多键。
代码遍历,当它找到匹配项时,它应该将该值附加到位于 lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin] 的列表中的字典内的列表中
实际发生的情况是它更新了字典中所有键的所有列表,我终其一生都无法弄清楚原因。请告诉我如何仅更新 lolbinsbehaviouralshellcommands 列表字典中的 lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin] 列表。
lolbinsbehaviouralshellcommandsclone = copy.deepcopy(lolbinsbehaviouralshellcommands)
for behaviourshellcommandlolbin in lolbinsbehaviouralshellcommandsclone:
#print(key)
#print("doggo")
if behaviourshellcommandlolbin in lowercaserawshell:
print("it's a match")
print(behaviourshellcommandlolbin)
print(lowercaserawshell)
#exit()
#if rawshell not in lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin]:
print(type(lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin]))
print(len(lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin]))
#exit()
if len(lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin]) == 0:
print(lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin])
print(lolbinsbehaviouralshellcommands)
# exit()
lolbinsbehaviouralshellcommands[behaviourshellcommandlolbin].append(str(rawshell))
print(lolbinsbehaviouralshellcommands)
print(behaviourshellcommandlolbin)
exit()
【问题讨论】:
-
你试过
extend吗? -
仍然将它添加到字典的每个元素中,如果我使用extend,只需像这样拆分它:: ['(', 'o', 'p', 'e', 'n', ' )'、''、'c'、'm'、'd'、'.'、'e'、'x'、'e'、'/'、'c'、''、'p'、' i','n','g','','1','2','7','.','0','.','0','.','1', ''、'&'、''、'd'、'e'、'l'、''、'/'、'q'、''、'C'、':'、'\\'、' 5'、'5'、'4'、'8'、'd'、'5'、'9'、'1'、'6'、'4'、'6'、'1'、'9' , 'c', 'f', '9', '3', 'f', '6', '0', '0', '4',)', ']'],
标签: python-3.x list dictionary for-loop append