5_リストとforループ
7588 ワード
一、リスト
1.概念
役割:リストは1つのコンテナに相当し、複数のデータを同時に格納できます.
本質:リストは秩序ある集合です
説明:順序付けとは、順序付けである【データの格納順序と最下位の格納順序は同じである】
2.基本使用
2.1定義リスト
2.2リスト要素取得
2.3リスト基本操作
2.4リストスライス
3.システム機能
関数#カンスウ#
説明
len(list)
リスト要素の数を取得
max(list)
リスト要素の最大値を返します
min(list)
リスト要素の最小値を返します
list(seq)
タプルをリストに変換
list.append(obj)
リストの最後に新しいオブジェクトを追加
list.count(obj)
要素がリストに表示される回数を統計します.
list.extend(seq)
リストの最後に別のシーケンスの複数の値を一度に追加します(新しいリストで元のリストを拡張します)
list.index(seq)
リストから値が最初に一致するインデックスの場所を見つけます.
list.insert(index,obj)
オブジェクトをリストに挿入
list.pop(index)
リスト内の要素(既定の最後の要素)を除去し、その要素の値を返します.
list.remove(obj)
リスト内の値の最初の一致を削除
list.reverse()
リスト内の要素を反転
list.sort(key=None,reverse=False)
元のリストのソート
list.copy()
リストのコピー
list.clear()
リストをクリア
4.リストネスト
リストのネストは、実はリストの要素であり、リストでもあります.
注意:操作する要素の下付き文字を変数名として使用すれば、ネストされたリストを操作できます.
二、循環文のfor文
1.基本使用
構文:
for変数名inシーケンス:
じゅんかんたい
機能:forループは主にリスト、文字列、メタグループ、辞書、コレクションなど、任意のシーケンスを巡回するために使用されます.
遍歴:リスト内の各要素に順次アクセスし、各要素の値を取得することを指します.
説明:リスト内の各要素を順番に取得し、変数名に値を付けて文を実行し、リスト内のすべての要素を取得するまでループを繰り返します.
2.遍歴リスト
3.ネストforループ
1.概念
役割:リストは1つのコンテナに相当し、複数のデータを同時に格納できます.
本質:リストは秩序ある集合です
説明:順序付けとは、順序付けである【データの格納順序と最下位の格納順序は同じである】
2.基本使用
2.1定義リスト
#1.
# ,
# : = [ 1....]
# : list , , list【list()】, list Python
#a.
list1 = []
print(list1)
#b.
# : ,
list2 = [34,6,56,57,7]
print(list2)
#c.
list3 = [22,33,44,22,22,22,22]
print(list3)
#d.
list4 = ["hello",10,45.9,True]
print(list4)
2.2リスト要素取得
#2.
"""
:
a.
b. , , 0 ,
,
c. :
0 ~ - 1
-1 ~ -( )
d. , IndexError
"""
nameList = ["tom","jack","bob","rose","zhangsan"]
print(nameList)
#a.
# : [ ]
n1 = nameList[2]
print(n1)
print(nameList[2])
print(nameList[4])
# 1: ,
#print(nameList[10]) #IndexError: list index out of range
# 2: 【 】, 【 】
print(nameList[-1])
print(nameList[-5])
#print(nameList[-6]) #IndexError: list index out of range
nameList = ["tom","jack","bob","rose","zhangsan"]
print(nameList)
#b.
# : [ ] =
print(nameList[1])
nameList[1] = "xxx" # :
print(nameList[1])
print(nameList)
# : ,
2.3リスト基本操作
#
#1. :+
list1 = [2,3,4]
list2 = [7,8]
print(list1 + list2)
print(list1)
#2. :*
print(list1 * 3)
print(list1)
# : ,
#3. :
# a. 【in , not in】, if for
list3 = [2, 3, 4, 7, 8]
print(3 in list3) #True
print(6 in list3) #False
print(3 not in list3) #False
print(6 not in list3) #True
if 3 in list3:
print("3 ")
# b. 【is , is not】,
a = 10
b = 10
print(a is b) #True
list1 = [1,2,3]
list2 = [1,2,3]
print(list1 is list2) #False
print(list1 == list2) #True
2.4リストスライス
#4.
# : ,
list1 = [11,22,33,44,55,66,77,88,99]
#a. , , step
sublist1 = list1[1:4] #
print(sublist1)
sublist1 = list1[1:] #
print(sublist1)
sublist1 = list1[:4] #
print(sublist1)
#b. , , step
sublist1 = list1[1:4:2]
print(sublist1)
sublist1 = list1[1::2]
print(sublist1)
sublist1 = list1[:4:2]
print(sublist1)
list1 = [11,22,33,44,55,66,77,88,99]
#c. ,
sublist1 = list1[-1:-4] #[]
print(sublist1)
sublist1 = list1[-1:] #
print(sublist1)
sublist1 = list1[:-4] #[11, 22, 33, 44, 55]
print(sublist1)
sublist1 = list1[-1:-4:-1]
print(sublist1)
sublist1 = list1[-1::-1]
print(sublist1)
sublist1 = list1[:-4:-1]
print(sublist1)
sublist1 = list1[-4:-1:-1]
print(sublist1)
sublist1 = list1[-4::-1]
print(sublist1)
sublist1 = list1[:-1:-1]
print(sublist1)
list1 = [11,22,33,44,55,66,77,88,99]
print(list1[::])
print(list1[::1])
print(list1[::-1]) #
3.システム機能
関数#カンスウ#
説明
len(list)
リスト要素の数を取得
max(list)
リスト要素の最大値を返します
min(list)
リスト要素の最小値を返します
list(seq)
タプルをリストに変換
list.append(obj)
リストの最後に新しいオブジェクトを追加
list.count(obj)
要素がリストに表示される回数を統計します.
list.extend(seq)
リストの最後に別のシーケンスの複数の値を一度に追加します(新しいリストで元のリストを拡張します)
list.index(seq)
リストから値が最初に一致するインデックスの場所を見つけます.
list.insert(index,obj)
オブジェクトをリストに挿入
list.pop(index)
リスト内の要素(既定の最後の要素)を除去し、その要素の値を返します.
list.remove(obj)
リスト内の値の最初の一致を削除
list.reverse()
リスト内の要素を反転
list.sort(key=None,reverse=False)
元のリストのソート
list.copy()
リストのコピー
list.clear()
リストをクリア
#Python 【 】,
# ,
#1.
#a.list.append(x), ,x
list11 = [1,2,3]
print(list11)
list11.append(4)
print(list11)
list11.append(False)
print(list11)
list11.append("abc")
print(list11)
list11.append([33,55])
print(list11)
#b.list.extend(x), ,x 【 , 】
list12 = [1,2,3]
print(list12)
# : , , , ,
# list12.extend(5) #TypeError: 'int' object is not iterable
# print(list12)
list12.extend([5])
print(list12)
list12.extend("abc")
print(list12)
# ;append extend ,append , extend
print("=" * 30)
#c.list.insert(index,x),
list13 = [1,2,3]
print(list13)
list13.insert(1,10)
print(list13)
# : index ,
list13.insert(6,8)
print(list13)
list13.insert(2,[33,55])
print(list13)
list13.insert(3,"hello")
print(list13)
# :extend , ,
# append insert ,
#2.
#a.list.remove(x), , ,
list21 = [1, 10, 2, 3, 8,2,2,2]
print(list21)
list21.remove(2)
print(list21)
# : ,
#list21.remove(666) #ValueError: list.remove(x): x not in list
#print(list21)
#b.list.pop(index=-1) , , ,
list22 = [1, 10, 2, 3, 8]
print(list22)
list22.pop()
print(list22)
list22.pop(1)
print(list22)
# 1: ,
# list22.pop(9) #IndexError: pop index out of range
# print(list22)
# 2:pop()
list22 = [1, 10, 2, 66, 8]
print(list22)
num = list22.pop(3)
print(num)
print(list22)
result = list22.remove(2) #None
print(result)
# :pop ,remove None
#c.list.clear() ,
list22 = [1, 10, 2, 66, 8]
print(list22)
list22.clear()
print(list22)
#3.
#a.list.reverse() , 【 】
list31 = [34,56,56,67,100,200]
print(list31)
list31.reverse()
print(list31)
list31 = [34,56,56,67,100,200]
print(list31[::-1])
#b.list.sort(), ,
list32 = [100,34,200,56,56,67]
print(list32)
#
list32.sort()
print(list32)
list32 = [100,34,200,56,56,67]
print(list32)
#
list32.sort(reverse=True)
print(list32)
#
list33 = ["456","abc","Kuf","helloabcbbv","xvya","888"]
print(list33)
list33.sort()
print(list33)
# ----》 , sort ,
list34 = [45,"faf","lll","5757",False," "]
print(list34)
list34.sort() #TypeError: '
4.リストネスト
リストのネストは、実はリストの要素であり、リストでもあります.
注意:操作する要素の下付き文字を変数名として使用すれば、ネストされたリストを操作できます.
二、循環文のfor文
1.基本使用
構文:
for変数名inシーケンス:
じゅんかんたい
機能:forループは主にリスト、文字列、メタグループ、辞書、コレクションなど、任意のシーケンスを巡回するために使用されます.
遍歴:リスト内の各要素に順次アクセスし、各要素の値を取得することを指します.
説明:リスト内の各要素を順番に取得し、変数名に値を付けて文を実行し、リスト内のすべての要素を取得するまでループを繰り返します.
#1.
#a.
list1 = ["abf","cbc",100,False,34]
# :
for ele in list1:
print(ele)
#b.
for ch in "abcdef":
print(ch)
#2.else : ,else
for ch in "":
print("for ")
print(ch)
else:
print("else ")
# 1~50
for m in range(1,51):
if m % 2 == 0:
print(m)
2.遍歴リスト
list1 = [346,65,100]
#1.
for num1 in list1:
print(num1)
#2.
for i in range(len(list1)):
print(i,list1[i])
#3. enumerate(),enum ,
# :
# print(enumerate(list1))
for i,num in enumerate(list1):
print(i,num)
3.ネストforループ
#1. :
# :1-9
# :1~
for n in range(1,10):
for m in range(1,n + 1):
print("%dx%d=%d" % (m,n,n * m),end=" ")
print()
#2. :
list1 = [["a","b","c"],[22,44],[True,9,45.6]]
#
for sublist in list1:
print(sublist)
for ele in sublist:
print(ele)