リスト、タプル、ディクショナリ:メソッド
【書式】
リスト.append(値)
【コード】
# リストを作る
list1=[100,"20",30,40,50]
# 「天才」と言う文字列を末尾に追加
list1.append("天才")
# 結果を表示
print(list1)
【結果】
[100, '20', 30, 40, 50, '天才']
【書式】
リスト.insert(位置, 値)
【コード】
# リストを作る
list1=[100,"20",30,40,50]
# 「天才」と言う文字列を3番目に追加
list1.insert(2,"天才")
# 結果を表示
print(list1)
【結果】
[100, '20', '天才', 30, 40, 50]
【書式】
リスト.pop(位置)
「位置」デフォルトはリスト末尾
【コード】
# リストを作る
list1=[100,"20",30,40,50]
# 2番目を削除
list1.pop(1)
# 結果を表示
print(list1)
【結果】
[100, 30, 40, 50]
【書式】
リスト.index(値)
【コード】
# リストを作る
list1=[100,"20",30,40,50,30]
# 50 のインデックスを調べる
print(list1.index(50))
# 30(複数存在) のインデックスを調べる
print(list1.index(30))
# 100 のインデックスを調べる
print(list1.index(1000))
【結果】
4
2
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
10
11 # 100 のインデックスを調べる
---> 12 print(list1.index(1000))
ValueError: 1000 is not in list
値が複数存在する場合は、最初のインデックスが返ってくる。
値が存在しない場合はエラーが返ってくる
【書式】
リスト.sort()
デフォルトで昇順、「reverse=True」オプションを設定すると降順になる。
【コード】
# リストを作る
list1=[100,20,30,40,50,30]
# 昇順に並び替える
list1.sort()
print(list1)
# 降順順に並び替える
list1.sort(reverse=True)
print(list1)
【結果】
[20, 30, 30, 40, 50, 100]
[100, 50, 40, 30, 30, 20]
要素に文字列が混在するとエラーになることに注意する。
【書式】
リスト.reverse()
単純に並び順をかえるため、文字列の混在も可能。
【コード】
# リストを作る
list1=[100,"20",30,40,50,30]
# 逆順に並び替える
list1.reverse()
print(list1)
【結果】
[30, 50, 40, 30, '20', 100]
【書式】
リスト.copy()
結局、dfのところでもやった通り、他変数への代入はオリジナルを参照しているだけということに注意しておけばよさそう。
【コード】
# リストを作る
list1=[100,"20",30,40,50,30]
list2=list1
# list2 の2番目の要素を「天才」に変更する
list2[1]="天才"
# 結果を表示
print(list1)
print(list2)
# copyメソッドを使って、list1の複製をlist2として作成する
list3=[100,"20",30,40,50,30]
list4=list1.copy()
# list2 の2番目の要素を「天才」に変更する
list4[1]="天才"
# 結果を表示
print(list3)
print(list4)
# 各リストのオブジェクトIDを表示する
print("list1:",id(list1))
print("list2:",id(list2))
print("list3:",id(list3))
print("list4:",id(list4))
【結果】
[100, '天才', 30, 40, 50, 30]
[100, '天才', 30, 40, 50, 30]
[100, '20', 30, 40, 50, 30]
[100, '天才', 30, 40, 50, 30]
list1: 134216732946240
list2: 134216732946240
list3: 134216732849728
list4: 134216732845952