Day 230集合内包表記で重複除去
Pythonコード
1numbers = [1, 2, 2, 3, 4, 4, 5, 6, 6]2unique_numbers = [num for num in set(numbers)]3print(unique_numbers)4 5# 入力から重複除去6while True:7 user_input = input('数字を入力してください(終了する場合は「q」):')8 if user_input.lower() == 'q':9 break10 try:11 num = int(user_input)12 numbers.append(num)13 except ValueError:14 print('数字以外の入力です。再度入力してください。')15unique_numbers = [num for num in set(numbers)]16print('入力された数字(重複除去):', unique_numbers)
解説
- 行1〜3: リスト内包表記と集合(set)を使用して、リストから重複した数字を除去します。set()関数は、重複した要素を自動的に除去します。リスト内包表記は、集合の要素を新しいリストに変換するために使用されます。print()関数は、結果を画面に表示するために使用されます。
- 行5〜14: ユーザーから数字の入力を繰り返し受け付け、リストに追加します。入力が数字でない場合は、エラーをキャッチして再入力を促します。入力が「q」の場合は、入力を終了します。input()関数は、ユーザーから入力を受け付けるために使用されます。
- 行15〜16: ユーザーが入力した数字から重複を除去し、結果を表示します。set()関数とリスト内包表記は、重複除去とリストの作成に使用されます。
- 行1〜16: 補足: int()関数は、文字列を整数に変換するために使用されます。try-except文は、エラーが発生した場合に例外をキャッチして処理するために使用されます。
次に試してみよう
- 入力された文字列から重複した文字を除去するプログラムを作成してみましょう。
- リスト内包表記を使用して、リストの要素を二乗した新しいリストを作成してみましょう。
- ユーザーから入力された数字の平均値を計算するプログラムを作成してみましょう。