我需要创建一个字典,其中值是列表列表:
for line in scenariofile:
if re.match('^pppoe|^dhcp|^static|^sfu|^hgu', line):
line = line.rsplit()
print(line) # Just for debug
scenariolist.update({line[0]: [].append(line)})
print(scenariolist)
这是输出:
['pppoe', '1001', 'jon', 'jon123']
['pppoe', '2000', 'joe', 'joe123']
['dhcp', '1001']
['dhcp', '1000']
['static', '1010', '192.168.2.40', '255.255.255.0', '192.168.2.1', '8.8.8.8', '8.8.4.4']
['sfu', '1001', 'untagged']
['hgu', '1001']
{'pppoe': None, 'dhcp': None, 'static': None, 'sfu': None, 'hgu': None}
所以,这些行有内容,但我不知道为什么它们没有作为列表中的值追加
我希望有这样的输出:
{'pppoe': [['pppoe', '1001', 'jon', 'jon123'], ['pppoe', '2000', 'joe', 'joe123']]... and so on
试试这个代码
您没有在字典中的列表中添加内容
[].append(line)
创建一个临时列表,附加到它,然后返回None
,这个None
值被放入字典中为此,可以使用
collections.defaultdict
来创建包含所需列表的dictionary元素相关问题 更多 >
编程相关推荐