Python_ゆうどうしき

13112 ワード

Python_ゆうどうしき
1リスト導出式(リスト生成式)の役割:1つの表現式で規則的なリストを作成するか、規則的なリストを制御する
#   :    0-10   
# (1)while    
list1=[]
i=0
while i<10:
    list1.append(i)
    i+=1
print(list1)      #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# (2)for    
list2=[]
for j in range(0,10,1):
    list2.append(j)
print(list2)        #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# (3)       
list3=[x for x in range(10)]
print(list3)      ##[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1.2 if付きリスト導出式
#   :  0-10     
# (1) range    
list1=[i for i in range(0,10,2)]
print(list1)        #[0, 2, 4, 6, 8]

# (2)for   if        
list2=[]
for i in range(10):
    if i%2==0:
        list2.append(i)
print(list2)       #[0, 2, 4, 6, 8]

# (3) for    if       if      
list3=[i for i in range(10) if i%2==0]
print(list3)        #[0, 2, 4, 6, 8]

1.3複数のforループ実装リスト導出式
#   :[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
# for    
list1=[]
for i in range(1,3):
    for j in range(0,3):
        list1.append((i,j))
print(list1)

#   for         
list3=[(x,m) for x in range(1,3) for m in range(0,3)]
print(list3)

2.ディクショナリ導出機能:リストをすばやくマージして、ディクショナリまたはディクショナリのターゲットデータを抽出(1)ディクショナリを作成します.
# (1)      
#    key 1-5   ,v        
dict1={
     i:i**2 for i in range(1,5,1)}
print(dict1)       #{1: 1, 2: 4, 3: 9, 4: 16}

(2)2つのリストを1つの辞書にまとめる注意:A:2つのリストのデータの個数が同じであれば、len統計のいずれのリストの長さもB:2つのリストのデータの個数が異なる場合、len統計データの多いリストのデータの個数は間違って報告され、len統計の列のデータが少ない場合は間違って報告されない
# (2)            
list1=['name','age','sex']
list2=['liming','10','man']
dict1={
     list1[i]:list2[i] for i in range(len(list1))}
print(dict1)         #{'name': 'liming', 'age': '10', 'sex': 'man'}

(3)辞書からターゲットデータを抽出する
# (3)          
#   :      80     
dict1={
     'liming':89,'lily':78,'zhangsan':56,'lisi':90}
dict2={
     key:value for key,value in dict1.items() if value>=80}
print(dict2)       #{'liming': 89, 'lisi': 90}

3.集合導出式
#   :      ,        2  
list1=[1,3,4,3]
set1={
     i**2 for i in list1}
print(set1)      #{16, 1, 9}(      )