リストに変換する必要なんて無い

print every third value from a dictionary – StackOverflow

辞書に囚われすぎて,オーダーがなんだって話になる.
別に,この目的に於いては(勘違いしていなければ),辞書で良い.

my_dict={0: 'XYZ', 1: 'XYZ', 2: 'XYZ', 3: 'XYZ', 4: 'XYZ', 5: 'XYZ', 6: 'XYZ', 7: 'XYZ', 8: 'XYZ', 9: 'XYZ', 10:'XYZ',11:'XYZ',12:'XYZ',13:'XYZ',14:'XYZ'}

for i in range(0, len(my_dict), 3):
    print(f'{i}-{i+2} {my_dict[i+2]}')

0-2 XYZ
3-5 XYZ
6-8 XYZ
9-11 XYZ
12-14 XYZ

辞書のキーが番号(順番)を表している限り,そのオーダーは関係ない.
(挿入されたデータが順不同かどうかは関係ない)
ループを回して3n (n∈N)のキーにアクセスするだけ.

或いは,データの前から3つずつ……という話であれば,
Pythonのバージョン及び環境によって違うけど,

my_dict.items()

dict_items([(0, ‘XYZ’), (1, ‘XYZ’), (2, ‘XYZ’), (3, ‘XYZ’), (4, ‘XYZ’), (5, ‘XYZ’), (6, ‘XYZ’), (7, ‘XYZ’), (8, ‘XYZ’), (9, ‘XYZ’), (10, ‘XYZ’), (11, ‘XYZ’), (12, ‘XYZ’), (13, ‘XYZ’), (14, ‘XYZ’)])

dict_items([(0, ‘XYZ’), (4, ‘XYZ’), (5, ‘XYZ’), (6, ‘XYZ’), (7, ‘XYZ’), (8, ‘XYZ’), (1, ‘XYZ’), (2, ‘XYZ’), (3, ‘XYZ’), (9, ‘XYZ’), (10, ‘XYZ’), (11, ‘XYZ’), (12, ‘XYZ’), (13, ‘XYZ’), (14, ‘XYZ’)])

広告
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中