まえがき
Tkinterで前回の続きを進めようかなと思いましたが、時間が経って実力が足りないことを痛感いたしまして、もう少し基礎の所を学びながら作業を進めて行きます。
環境
Windows 10
Python 3.10.7
Python IDLE
リスト
最終的にアイデアを出せない筆者の代わりにアイデアを生成してくれるアプリケーションが完成すると助かります。
そのためには、リストに格納された要素を無作為に抽出するような方法を取るのではないかと思ったので、リストについて学習します。
※リストについてのすべては記述しておりません、もっと詳しく知りたい方は参考ページをご覧になってください。
リストの作成
#リストの作成
city_list = ['Sapporo', 'Nagoya', 'Osaka', 'Kyoto', 'Fukuoka']
あっさりしてて、だからなんだって気持ちになりますが、作成自体はこれで良いと思います。
リストの基本操作
#インデックス番号を指定
print(city_list[2])
>>> Osaka
インデックス番号は先頭が0になります。
#lenで要素の数を取得
print (len(city_list))
>>> 5
len関数で要素の数を取得できます、要素の数が増えてくると使うことになりそうです。
#負のインデックス番号を指定
print(city_list[-1])
>>> Fukuoka
末尾から要素を指定したい時は負のインデックス番号を使います。
また-1が末尾になります。
複数の要素を取得
#インデックス番号で開始位置と終了位置を指定
print(city_list[1:4])
>>> ['Nagoya', 'Osaka', 'Kyoto']
#インデックス番号で開始位置を指定
print(city_list[1:])
>>> ['Nagoya', 'Osaka', 'Kyoto', 'Fukuoka']
#インデックス番号で終了位置を指定
print(city_list[:4])
>>> ['Sapporo', 'Nagoya', 'Osaka', 'Kyoto']
複数の要素を取得するには開始位置と終了位置、またはどちらかを指定します。
#要素を取得する間隔を指定
print(city_list[1:4:2])
>>> ['Nagoya', 'Kyoto']
要素を取得する間隔を指定できます、省略された場合1になります。
#要素を取得する間隔を指定
print(city_list[::-1])
>>> ['Fukuoka', 'Kyoto', 'Osaka', 'Nagoya', 'Sapporo']
負のインデックス番号を使い、要素を逆順に取得できます。
要素に対する操作
#リストの要素を変更
city_list[1] = 'Yokohama'
print(city_list)
>>> ['Sapporo', 'Yokohama', 'Osaka', 'Kyoto', 'Fukuoka']
インデックス番号を指定し要素を代入し要素を変更します。
#リストの末尾に要素を追加
city_list.append('Yokohama')
print(city_list)
>>> ['Sapporo', 'Nagoya', 'Osaka', 'Kyoto', 'Fukuoka', 'Yokohama']
#インデックス番号を指定し要素を追加
city_list.insert(1,'Yokohama')
print(city_list)
>>> ['Sapporo', 'Yokohama', 'Nagoya', 'Osaka', 'Kyoto', 'Fukuoka']
.appendで末尾に要素を追加.insertでインデックス番号を指定し要素を追加できます。
#インデックス番号を指定し要素を削除
del city_list[2]
print(city_list)
>>> ['Sapporo', 'Nagoya', 'Kyoto', 'Fukuoka']
インデックス番号を指定し要素を削除できます。
#要素の並び替え
city_list.sort()
print(city_list)
>>> ['Fukuoka', 'Kyoto', 'Nagoya', 'Osaka', 'Sapporo']
#要素の並び替え
sorted(city_list)
#['Sapporo', 'Nagoya', 'Osaka', 'Kyoto', 'Fukuoka']
print(sorted(city_list))
>>> ['Fukuoka', 'Kyoto', 'Nagoya', 'Osaka', 'Sapporo']
.sortではリストを変更しますが、sortedではリストは変更されません。
#要素がリストに含まれているかを確認
print('Osaka' in city_list)
>>> True
print('Okinawa' in city_list)
>>> False
リストに特定の要素が含まれているか確認できます。
おわりに
2次元配列など、読んで理解出来ない内容が多々あり、現時点では「使わねぇだろコレ」と思い、記述しておりませんが必要になり次第どこかしらに書いたり書かなかったりします。
リストについての記事として中途半端で大変申し訳なく思っております。
コメント