Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
解決済
4回答
302閲覧
総合スコア35
0グッド
0クリップ
投稿2018/03/16 07:19
0
Pythonのrandomについての質問です。
ディクショナリーの中にある全てのキーをランダムで被り無く、出したいのですがどうすればよいでしょう。
全てのキーは
Python1dic = {1:'a',2:'b',3:'c'} 2for i in dic: 3 print(i)
Python
1dic = {1:'a',2:'b',3:'c'} 2for i in dic: 3 print(i)
で出せますが、ランダムで出す方法が分かりません。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答4件
ベストアンサー
リストとして取得し、シャッフルすれば良いでしょう。
Python1import random 2 3dic = {1:'a', 2:'b', 3:'c'} 4l = list(dic.keys()) 5random.shuffle(l) 6 7for e in l: 8 print(e)
1import random 2 3dic = {1:'a', 2:'b', 3:'c'} 4l = list(dic.keys()) 5random.shuffle(l) 6 7for e in l: 8 print(e)
投稿2018/03/16 07:24
総合スコア35678
キーをリストに格納し、キーリストをrandom.shuffleすればよいかと。
random.shuffle
Python1import random 2dic = {1:'a',2:'b',3:'c',4:'d',5:'e'} 3keys = [k for k in dic.keys()] 4random.shuffle(keys) 5 6for key in keys: 7 print(dic[key])
1import random 2dic = {1:'a',2:'b',3:'c',4:'d',5:'e'} 3keys = [k for k in dic.keys()] 4random.shuffle(keys) 5 6for key in keys: 7 print(dic[key])
投稿2018/03/16 07:27
総合スコア38350
全てのキーをランダムで被り無く
上の要件だけでいいならrandom.sample
Python1 2# -*- coding: utf-8 -*- 3import random 4 5 6def main() -> None: 7 dic = {1: 'a', 2: 'b', 3: 'c'} 8 print(random.sample(list(dic), len(dic))) 9 10 11if __name__ == "__main__": 12 main() 13
1 2# -*- coding: utf-8 -*- 3import random 4 5 6def main() -> None: 7 dic = {1: 'a', 2: 'b', 3: 'c'} 8 print(random.sample(list(dic), len(dic))) 9 10 11if __name__ == "__main__": 12 main() 13
投稿2018/03/16 11:00
総合スコア5846
まずランダムで出して、カブりがないかをチェックし、カブっていたら最初からやり直す、という処理が必要になりますねー
投稿2018/03/16 07:28
総合スコア88186
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Pythonのrandomについて
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。