ima*_*ake 5 python dictionary list python-2.x
我试图'x'
从一个大字典中删除所有值而不删除任何键,但是当我运行代码时仍然有'x'
剩余的值。
这是我字典的摘录:
myDict = {0: ['id1', 'id2', 'id3'], 1: ['id1', 'id2', 'x', 'x'], 2: ['id1', 'x', 'x', 'x']}
Run Code Online (Sandbox Code Playgroud)
到目前为止我的代码:
for k, v in myDict.iteritems():
if v == 'x':
myDict.remove('x')
print myDict
Run Code Online (Sandbox Code Playgroud)
我的目标是:
myDict = {0: ['id1', 'id2', 'id3'], 1: ['id1', 'id2'], 2: ['id1']}
Run Code Online (Sandbox Code Playgroud)
请问我应该如何删除'x'
列表中的值?
您可以在字典理解中使用列表理解,如下所示:
myDict = {k:[el for el in v if el != 'x'] for k, v in myDict.items()}
print(myDict)
Run Code Online (Sandbox Code Playgroud)
输出
{0: ['id1', 'id2', 'id3'], 1: ['id1', 'id2'], 2: ['id1']}
Run Code Online (Sandbox Code Playgroud)