dict内包表記
辞書を簡単に作成する方法の一つに、内包表記があります。リスト内包表記と同様に、インラインのforループを使って辞書を作成することができます:
squares = {n: n**2 for n in range(1, 11)}
print(squares)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
リストやセットの内包表記と同様に、フィルタリングや条件付き要素のすべてのルールが、辞書の内包表記にも適用されます。
names = ['Bob', 'Anna', 'Charles']
surnames = ['Brown', 'Kennedy', 'Jackson']
people = {names[i]: surnames[i] for i in range(len(names)) if names[i] != 'Anna'}
print(people)
# {'Bob': 'Brown', 'Charles': 'Jackson'}
チャレンジ
スペースで区切られた
n
個の数値が与えられます。数の二乗が6で終わるものを除外し、それぞれの数をキー、その立方を値とする辞書を作成してください。入力の唯一の行には、スペースで区切られた数値が含まれます。
プログラムは、条件を満たす数とその立方を出力します。
入力 | 出力 |
5 4 8 9 6 2 0 -4 | 5 125
8 512
9 729
2 8
0 0 |
これを一行で解けますか?😎
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB