1

これが簡単であることは知っていますが、理解できませんでした。次のような辞書のリストのすべての値を小文字に変換したいと思います。

{'John greased ': ['Axle', 'wheel', 'wheels', 'wheel', 'enGine', ''], 
 'Maria testa': ['teste', 'teste', '', '', '', ''], 
 'Paul alleged ': ['truth', 'crime', 'facts', 'infidelity', 'incident', ''], 
 'Tracy freed ': ['animals', 'fish', 'slaves', 'slaves', 'slaves', 'pizza'], 
 'Lisa plowed ': ['field', 'Field', 'FIELD', 'bola', '', '']}

私は使用してみました:

low = {k.lower():v.lower() for k, v in result.items()}
print(low)

しかし、それはうまくいきません。それを修正する方法に関する提案はありますか?どうもありがとうございました!

4

1 に答える 1

5

値はリストであるため、リスト内包表記を追加します。

{k.lower(): [i.lower() for i in v] for k, v in result.items()}

デモ:

>>> result = {'John greased ': ['Axle', 'wheel', 'wheels', 'wheel', 'enGine', ''], 
...  'Maria testa': ['teste', 'teste', '', '', '', ''], 
...  'Paul alleged ': ['truth', 'crime', 'facts', 'infidelity', 'incident', ''], 
...  'Tracy freed ': ['animals', 'fish', 'slaves', 'slaves', 'slaves', 'pizza'], 
...  'Lisa plowed ': ['field', 'Field', 'FIELD', 'bola', '', '']}
>>> {k.lower(): [i.lower() for i in v] for k, v in result.items()}
{'lisa plowed ': ['field', 'field', 'field', 'bola', '', ''], 'tracy freed ': ['animals', 'fish', 'slaves', 'slaves', 'slaves', 'pizza'], 'paul alleged ': ['truth', 'crime', 'facts', 'infidelity', 'incident', ''], 'maria testa': ['teste', 'teste', '', '', '', ''], 'john greased ': ['axle', 'wheel', 'wheels', 'wheel', 'engine', '']}
>>> from pprint import pprint
>>> pprint({k.lower(): [i.lower() for i in v] for k, v in result.items()})
{'john greased ': ['axle', 'wheel', 'wheels', 'wheel', 'engine', ''],
 'lisa plowed ': ['field', 'field', 'field', 'bola', '', ''],
 'maria testa': ['teste', 'teste', '', '', '', ''],
 'paul alleged ': ['truth', 'crime', 'facts', 'infidelity', 'incident', ''],
 'tracy freed ': ['animals', 'fish', 'slaves', 'slaves', 'slaves', 'pizza']}
于 2013-11-12T16:13:45.593 に答える