Magicode logo
Magicode
1 min read

なかなか覚えられないpythonのリスト

https://cdn.magicode.io/media/notebox/4c7df286-5c44-479c-ace8-eed75c2cebd1.jpeg
追加 はappendとinsert
python
# 末尾
a = [1,2,3]
a.append(4)
print(a)
# 場所指定 先頭は0
a.insert(1,15)
print(a)

[1, 2, 3, 4] [1, 15, 2, 3, 4]
削除
  • pop 破壊的で返り値が抜き出したもの
  • remove 同じものを削除
python
a = [1, 2, 3, 4, 5]
print(a.pop())
print(a)
print(a.pop(1))
print(a)
a.remove(3)
print(a)

5 [1, 2, 3, 4] 2 [1, 3, 4] [1, 4]
結合と 繰り返し
python
a = [1, 2]
b = [3, 4]
print(a+b)
print(a*2)

[1, 2, 3, 4] [1, 2, 1, 2]
マップとフィルターは内包表記. elifは使えない、else をつなげる
python
a = range(1,10)
print(a)
print([i*2 for i in a])
print([i*2 if i %2 == 0 else i*3 for i in a])
print([i*i if i%2 == 0 else i*i*i if i%3 == 0 else i*i*i*i*i if i%5 ==0 else i for i in a])

range(1, 10) [2, 4, 6, 8, 10, 12, 14, 16, 18] [3, 4, 9, 8, 15, 12, 21, 16, 27] [1, 4, 27, 16, 3125, 36, 7, 64, 729]
範囲を指定して入れ替え
python
mylist = ["A", "B", "C"]
mylist[len(mylist):len(mylist)] = ["D", "E"]
print (mylist)
mylist[3:-1] = ["D", "E"]
print (mylist)

['A', 'B', 'C', 'D', 'E'] ['A', 'B', 'C', 'D', 'E', 'E']

Discussion

コメントにはログインが必要です。