以下、しばらくテキストを離れて簡単に説明します。
[...] でリスト(list)を表します。 角括弧使用
xa = [50, 100, 150, 200]
print(a)
下記の様に改行して記述することもできます。最後のカンマ(,)は省略可能です。
xcolors = [
'red',
'green',
'blue',
]
print(colors)
異なる型の要素のリストを作ることもできます。
xa = [50, 'japan']
print(a)
リストの要素にアクセスするには for を用います。
xa = [10, 20, 30, 40, 50]
print(a)
for n in a:
print (n)
[n] で n番目の要素を参照します。最初の要素を 0番目と数えます。
xa = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
a1 = a[0] # 0番目: 'A'
a2 = a[2] # 2番目: 'C'
print("a1=",a1,"a2=",a2)
[n:m] で n番目から m番目の前まで(つまり m - 1番目まで)の要素を参照します。n を省略すると最初から、m を省略すると最後までの要素を参照します。
xa = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a1 = a[2:4] # 3番目から3番目: [2, 3]
print(a1)
a2 = a[2:] # 2番目から最後: [2, 3, 4, 5, 6, 7, 8, 9]
print(a2)
a3 = a[:4] # 最初から3番目: [0, 1, 2, 3]
print(a3)
[n:m:s] は s個とばしで参照します。
xa = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a1 = a[1:8:2] # 1番目から7番目まで2個とばし:
# [1, 3, 5, 7]
print(a)
print(a1)
n, m にマイナスの値を指定すると、後ろから数えます。
xa = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
print(a)
a1 = a[-1] # 最後の文字 'G'
print(a1)
a2 = a[-3:-1] # 最後から3番目の文字から最後から1
print(a2) # 番目の前の文字: ['E', 'F']
演算子を用いてリストを結合することができます。
xprint ([1, 2, 3] + [4, 5, 6] ) #=> [1, 2, 3, 4, 5, 6]
len() を用いてリストの個数を調べます。
xprint (len([1, 2, 3])) #=> 3
リストのリストを作ることも可能です。
xa = [[1, 2], [3, 4], [5, 6]]
for list in a:
for n in list:
print (n) #=> 1 2 3 4 5 6
######## 以下 テキストに準じて追加しています 変数のリスト P143
xa=10
b=20
c=30
abc = [a,b,c]
print(abc)
リストに入れた変数の変更 P143
xb=99 # これではリストは変更できない
print(abc)
リストの変更ができる p146
xa = ["a","b","c","d","e","f","g","h"]
a[2]='y' # 3番目の要素を変更
print(a)
append(値) リストの末尾に要素を追加 p151
xdata = []
data.append(10)
data.append(20)
print(data)
data.append(30)
print(data)
リストに要素を挿入する p152 insert(挿入位置,値)
xdata=["a","b","c","d"]
data.insert(2,"new") # 3番目の要素に"new"挿入
print(data)
リストの要素を削除する # p152 指定の位置にある要素を抜き取る pop(抜き取る位置)
xfruits = ["apple","orange","banana","peach"]
d1=fruits.pop(2)
print(d1) # banana
print(fruits) # bananaがなくなっている
文字列をセパレータで分割し、リストにする。 p156
xm = "I am going to station."
word = m.split() # 初期値では空白がセパレータ
print(word)
リストを複製する(方法1) p167
xlist_mother =[10,20,30,40,50]
list_work = list_mother.copy() # copy関数でリストを複製
print(list_work)
リストの複製をスライスで行う(方法2) p167
xlist_mother = [10,20,30,40,50]
list_work = list_mother[:]
print(list_work)
リストの複製をlist()で行う(方法3) これはエラーがでるので省略
xlist_mother = [10,20,30,40,50]
list_work = list(list_mother)
print(list_work)
リストの並べ替え p168
xnumbers = [15,23,42,8,16]
numbers.sort() # sortは元のデータを並べ替える
print(numbers)
xnumbers = [15,23,42,8,16]
numbers_asend = sorted(numbers)
print(numbers_asend) # ソート済みの新しいリスト
print(numbers) # 元のデータは変わっていない
リスト内包表記 p173 [式 for 変数 in イテラブル]
イテラブル・・・値に含まれている要素を1個づつ要素を 取り出せるオブジェクト
p173
xnums = [1,2,3,4,5,6]
nums_double = [num * 2 for num in nums]
print(nums_double)
リスト内包表記を使って文字列からリストを作る
p174
xgroup_list = [str + "組" for str in "ABCDEFG"]
print(group_list)
条件付きリストの内包表記
[式 for 変数 in イテラブル if 条件式]
xnumbers = [2.1, 0.2 , 0.3 , 1.4 , 3.1, 0.3, 1.6]
result = [num for num in numbers if 1<= num <2]
print(result)
リストの合計、最大値、最小値 p181
xdata = [56,45,83,67,59,41,77]
sum(data) # dataリストの合計 428
print(sum(data))
max(data) # dataリストの最大値 83
print(max(data))
min(data) # dataリストの最小値 41
print(min(data))