Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python辞書でキーの長さを切り捨てる方法は?


リスト内包表記を使用して、Pythondictのキーを切り捨てることができます。 dictのキーを繰り返し処理し、切り捨てられたキーを使用して新しいdictを作成します。

def truncate_keys(a, length):
   return dict((k[:length], v) for k, v in a.items())
a = {'foo': 125, 'bar': 'hello'}
b = truncate_keys(a, 2)
print(b)
出力

これにより、出力が得られます

{'fo': 125, 'ba': 'hello'}

ただし、名前の衝突については変更する必要があります。これは、2つの文字列のプレフィックスが同じである場合、それらが値を上書きするためです。


  1. Pythonで辞書をキーで並べ替える方法は?

    Pythonの標準配布には、コレクションモジュールが含まれています。高性能コンテナデータ型の定義があります。 OrderedDictは、ディクショナリオブジェクトに追加されたエントリの順序を記憶するディクショナリのサブクラスです。順序付けられた辞書を反復処理すると、アイテムはキーが最初に追加された順序で返されます。 >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo,4:bbb, 2:ddd} >>> OrderedDict(D.items()) &nb

  2. Pythonで辞書のすべてのキーを印刷するにはどうすればよいですか?

    辞書オブジェクトには、この仕事をしてくれるkeys()メソッドがあります。 >>> D1 = {1:a, 2:b,3:c} >>> D1.keys() dict_keys([1, 2, 3]) >>> list(D1.keys()) [1, 2, 3] 反復可能なリストオブジェクトは、forループを使用してトラバースできます >>> L1 = list(D1.keys()) >>> for i in L1: print (i) 1 2 3