Python新手在這裏。我有一個列表的字典,像這樣:如何迭代包含列表和刪除項目的字典值?
d = {
1: ['foo', 'foo(1)', 'bar', 'bar(1)'],
2: ['foobaz', 'foobaz(1)', 'apple', 'apple(1)'],
3: ['oz', 'oz(1)', 'boo', 'boo(1)']
}
我試圖通過字典的鍵和相應的列表值弄清楚如何循環,並用括號尾刪除所有的字符串中的每個列表。到目前爲止,這是我:
for key in keys:
for word in d[key]...: # what else needs to go here?
regex = re.compile('\w+\([0-9]\)')
re.sub(regex, '', word) # Should this be a ".pop()" from list instead?
我想用一個列表理解來做到這一點,但正如我所說的,我無法找到通過字典鍵循環和相應的列表字典值多的信息。什麼是最有效的設置方法?
你會碰到這個問題不是特有的碰巧是列表字典值。您應該通過搜索諸如「在迭代時修改列表」等方式獲得有用的信息。然而,eumiro關於用修改來創建一個新字典的回答,而不是現場修改現有值的最終結果 - 運行這些問題。 – lvc 2013-04-11 13:07:23
你的名單的項目,他們是字符串?或者一些對象? – Eric 2013-04-11 14:16:14
@Eric他們是字符串。感謝您指出 - 編輯的例子。 – 2013-04-11 15:35:57