私は一度に2つの鍵を2つの鍵にループする必要があるプログラムに取り組んでいます。ここに私の辞書の簡単な表現があります。Python:ループ辞書、一度に2つの鍵
my_dict = {
'LAP0-1': 146.48,
'LAP1-1':44.11,
'LAP2-1':25.54,
'LAP3-1':75.29,
'LAP5-2':85.76,
'LAP6-2':46.87
}
# loop dictionary 1 key at a time
for k,v in my_dict:
print k + " | " + v;
私は私がリストを持っていた場合、私はそうのような時にはループのアイテム2を可能性を知っている:
for i in range(0, len(my_list), 2):
print my_list[i] + " | " + my_list[i+1];
しかし、時間のループ辞書の2つのキーをすることが可能ですか?
私はループの中で、次を印刷したい:私は考え
LAP0-1 | 146.48 ; LAP1-1 | 44.11
LAP1-1 | 44.11 ; LAP2-1 | 25.54
LAP2-1 | 75.29 ; LAP3-1 | 85.76
LAP5-2 | 85.76 ; LAP6-2 | 46.87
別の解決策が、私の場合のためにこれではありません:my_list[i]
は'LAP0-1'
とmy_list[i+1]
ある
for i in range(0, len(my_list), 2):
print my_dict[my_list[i]] + " | " my_dict[my_list[i+1]];
'LAP1-1'
です。そのような2つのデータ構造を保管しておくことは、効率が悪いようです。一度に2つのキーをループさせるにはどうすればよいですか?
にそのキーが定義されている順番を覚えていないし、あなたがそれを反復することができます
OrderedDict
すべてのk個の要素http://stackoverflow.com/questions/1403674/を提供しますピクトー・ウェイから戻ってリストの中のすべてのn番目のアイテムのリストを返す – Andresあなたは記入欄にあなたが記入した順序を覚えていますか? Dictsは意味的に順序付けられていません。それらはKey-Valueルックアップ構造です。それらを反復すると、あなたが書いた順序とは全く異なる順序が生まれるかもしれません。実際に必要なものが順序付けされたペアのシーケンスである場合、タプルのリストはしばしばより良いデータ構造です。 – user2357112