6.Pythonシーケンス(一)

8685 ワード

リスト(List)
シーケンスはPythonで最も基本的なデータ構造です.シーケンス内の各要素には、数値が割り当てられます.その位置、またはインデックス、最初のインデックスは0、2番目のインデックスは1などです.Pythonには6つのシーケンスの内蔵タイプがありますが、最も一般的なのはリストとメタグループです.シーケンスで実行できる操作には、インデックス、スライス、加算、乗算、メンバーのチェックが含まれます.さらに、Pythonには、シーケンスの長さと最大と最小の要素を決定する方法が内蔵されています.リストは最も一般的なPythonデータ型で、カッコ内のカンマ区切り値として表示されます.リストのデータ・アイテムに同じタイプは必要ありません
カンマで区切られた異なるデータ項目をかっこで囲むだけでリストを作成します.
リスト内のオブジェクトは、挿入順にリストに格納され、最初に挿入されたオブジェクトは最初の位置に保存され、2番目に2番目の位置に保存されます.インデックス(index)でリスト内の要素インデックスを取得できます.リスト内の要素インデックスは、リスト内の要素の位置です.列表の各要素には、0から始まる整数のインデックスインデックスがあります.リストの最初の位置インデックスは0、2番目の位置インデックスは1、3番目の位置インデックスは2です.
次のようになります.
my_list=[] #    ,  []     
print(my_list,type(my_list))

my_list=[10] #              
print(my_list,type(my_list))

#             
#   :my_list[  ] my_list[0]
# print(my_list[4])
#                ,     
# print(my_list[5]) IndexError: list index out of range

#        ,        
# len()  ,              
#         ,         + 1
my_list=[10,21,'a','cdef',12.25] #            
print(my_list,type(my_list))
print('   3   :',my_list[2])
print('        :',my_list[-1])
print('     :',len(my_list))


  :
[] 
[10] 
[10, 21, 'a', 'cdef', 12.25] 
   3   : a
        : 12.25
     : 5
[Finished in 0.1s]

≪リスト・スライス|List Slice|oem_src≫:スライスとは、既存のリストからサブリストを取得することです.
#       ,       ,          
stus = ['   ','   ','   ','  ','   ','   ']
#           
#        ,         ,-1       ,-2            
print(stus[-1])
print(stus[0])
#             
#   :  [  :  ] 
#            ,          ,           
#         ,          ,         
#                    
#           ,         
#           ,            
#                  ,              
print(stus[:])
print(stus[2:4])
#   :  [  :  :  ] 
#     ,         ,    1
# print(stus[0:5:3])
#      0,       
# print(stus[::0]) ValueError: slice step cannot be zero
#      ,              
print(stus[1:6:2])
print(stus[::-2])

  :
   
   
['   ', '   ', '   ', '  ', '   ', '   ']
['   ', '  ']
['   ', '  ', '   ']
['   ', '  ', '   ']
[Finished in 0.4s]

リストの汎用操作(+、*、in、not in、len()、min()、max()、count()、index()
# +   *
# +              
my_list = [1,2,3] + [4,5,6]
print(my_list)
# *             
my_list = [1,2,3] * 5
print(my_list)

#       
stus = ['   ','   ','   ','  ','   ','   ','   ','   ']

# in   not in
# in                
#       ,  True,    False
# not in               
#       ,  True,    False
print('   ' not in stus)
print('   ' in stus)

# len()           

# min()          
# max()          
arr = [10,1,2,5,100,77]
print(min(arr) , max(arr))

#     (method),           ,            .  ()      
# xxx.print()                  
# s.index()                    
# print(stus.index('   '))
# index()      ,          ,      ,         
# print(stus.index('   ',3,7))
#              ,     
# print(stus.index('   ')) ValueError: '   ' is not in list
# s.count()                
print(stus.count('   '))

  :
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
True
False
1 100
0
[Finished in 0.4s]

リスト要素の変更
#       
stus = ['   ','   ','   ','  ','   ','   ']
print("   :",stus)
#         
#            
stus[0] = 'sunwukong'
stus[2] = '  '
print('   :',stus)
#   del     
del stus[2] #      2   
print('   :',stus)

stus = ['   ','   ','   ','  ','   ','   ']
print("   :",stus)

#          
#          ,      
stus[0:2] = ['   ','   '] #           
print('   :',stus)
stus[0:2] = ['   ','   ','   ']
print('   :',stus)
stus[0:0] = ['   '] #     0       
print('   :',stus)
#        ,                     
stus = ['   ','   ','   ','  ','   ','   ']
stus[::2] = ['   ','   ','   ']
print('   :',stus)
#          
del stus[0:2]
print('   :',stus)
del stus[::2]
print('   :',stus)
stus[1:3] = []
print('   :',stus)

#     ,        
s = 'hello'
# s[1] = 'a'      ,         
#      list()            list
s = list(s)
print(s)

  :
   : ['   ', '   ', '   ', '  ', '   ', '   ']
   : ['sunwukong', '   ', '  ', '  ', '   ', '   ']
   : ['sunwukong', '   ', '  ', '   ', '   ']
   : ['   ', '   ', '   ', '  ', '   ', '   ']
   : ['   ', '   ', '   ', '  ', '   ', '   ']
   : ['   ', '   ', '   ', '   ', '  ', '   ', '   ']
   : ['   ', '   ', '   ', '   ', '   ', '  ', '   ', '   ']
   : ['   ', '   ', '   ', '  ', '   ', '   ']
   : ['   ', '  ', '   ', '   ']
   : ['  ', '   ']
   : ['  ']
['h', 'e', 'l', 'l', 'o']
[Finished in 0.4s]

リストメソッド[append()、insert()、extend()、clear()、pop()、remove()、reverse()、sort()]
#      
stus = ['   ','   ','   ','  ']
print('   :',stus)

# append() 
#             
stus.append('  ')
print('   :',stus)

# insert()
#               
#   :
#   1.      
#   2.      
stus.insert(2,'  ')
print('   :',stus)

# extend()
#              
#           ,                  
stus.extend(['  ','   '])#   stus += ['  ','   ']
print('   :',stus)

# clear()
#     
stus.clear()
print('   :',stus)

# pop()
#                
stus = ['   ','   ','   ','  ']
result = stus.pop(2) #      2   
print('   :',result)
result = stus.pop() #       
print('   :',result)

# remove()
#         ,           ,       
stus.remove('   ')
print('   :',stus)

# reverse()
#       
stus.reverse()
print('   :',stus)

# sort()
#              ,       
#         ,       reverse=True    
my_list = list('asnbdnbasdabd')
my_list = [10,1,20,3,4,5,0,-2]

print('   ',my_list)

my_list.sort(reverse=True)
print('   ',my_list)
# print('   :',stus)

  :
   : ['   ', '   ', '   ', '  ']
   : ['   ', '   ', '   ', '  ', '  ']
   : ['   ', '   ', '  ', '   ', '  ', '  ']
   : ['   ', '   ', '  ', '   ', '  ', '  ', '  ', '   ']
   : []
   :    
   :   
   : ['   ']
   : ['   ']
    [10, 1, 20, 3, 4, 5, 0, -2]
    [20, 10, 5, 4, 3, 1, 0, -2]
[Finished in 0.4s]

リストを巡るとは、リスト内のすべての要素を取り出すことです.
#     ,                
#     
stus = ['   ','   ','   ','  ','   ','   ']

#     
# print(stus[0])
# print(stus[1])
# print(stus[2])
# print(stus[3])

#   while       
i = 0
while i < len(stus):
    print(stus[i])
    i += 1
print("===============================================")
#   for       
#   :
#   for    in    :
#          
# for           ,              
#                        ,
#             ,         

for s in stus :
    print(s)


  :
   
   
   
  
   
   
===============================================
   
   
   
  
   
   
[Finished in 0.4s]

range()
# range()     ,              
r=range(5) #          [0,1,2,3,4]
print(list(r))
#          
#   1.    (    ,   0)
#   2.    
#   3.  (    ,   1)
r=range(1,10,2)
print(list(r))

#   range()             for  
# for()          ,     while  ,
#     else、  break continue    for     
#     for         
#      while      ,   for      !
for i in range(1,10,2):
	print(i)

print("============================")

for i in list(range(1,10,2)):
	print(i)


  :
[0, 1, 2, 3, 4]
[1, 3, 5, 7, 9]
1
3
5
7
9
============================
1
3
5
7
9
[Finished in 0.4s]