Python基礎学習チュートリアル(二)のシーケンスの宝物


Pythonには6つの組み込みシーケンスが含まれており、最も一般的な2つのタイプはリストとメタグループです.
    リストとメタグループの最大の違いは、リストが変更可能([,]で表される)、メタグループが変更できない((,)で表される)ことです.
    リストに対して一連の操作を行うことができます:インデックス、スライス、ステップ、リストの加算、乗算、挿入、削除、メンバーシップの判断など、いくつかの長さ、最大値、最小値を取る組み込み関数.
    メタグループに対して実行できる操作には、メタグループの要素の作成とアクセスがあり、リストをメタグループに変換することもできます.
    リストの中で最も重要な操作はスライスです.以下のプログラムを見た後、スライス操作について詳しく理解してほしいです.自分で推測した結果を試してみてください.もしすべて当てたら、スライスとステップを深く把握していることを示しています.サンプルプログラムにはforやifなどの文もあり、伝統的なプログラミング言語との違いも理解できると信じています.注意:Pythonは{}の代わりにインデントを使用して論理ブロックを分割します.
    次に、リストの基本的な操作の例を示します.
# -*- coding: GBK -*-
#        ,    
print "~~~~~~~~~~~~~~~~~~~~~~~~~~1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#Python        ,          ,       :     ,      
#             ,              
zhenyu = ['LiZhenyu',23,'ChangZhou','Work']
junwen = ['ChenJunwen',22,'HaErbin','Study']
database = [zhenyu,junwen]
print database
print "~~~~~~~~~~~~~~~~~~~~~~~~~~2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#          :               ,               
#   ,    0,    1,     -1,      -2,    
print 'zhenyu'[0] + 'zhenyu'[-1]
fourth = raw_input('Your Name:')[0]
print fourth
#             
ending = ['st','nd','rd'] + 17*['th']\
       + ['st','nd','rd'] + 7*['th']\
       + ['st']
day = int(raw_input('Day(1-31):'))
if day >= 1 and day <= 31 : print str(day) + ending[day-1]
print "~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#  ,               , :     ,num[m:n]   m  ,   n  ( m,  n)
#                ,                 (     ,[-3:]      ,[:4]   4 )
zhenyu = 'LiZhenYu'
print zhenyu[:]
print zhenyu[:2]
print zhenyu[2:6]
print zhenyu[-2:]
print "~~~~~~~~~~~~~~~~~~~~~~~~~~4~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#  ,[m:n:step],step   0,    m<n,    m>n(       ),  step 1(2 3       )
#            ,             ,    :     
number = [1,2,3,4,5,6,7,8,9,10]
print number[0:10:1]
print number[0:10:2]
print number[3:6:3]
print number[::4]
print number[8:3:-1]
print number[10:0:-2]
print number[0:10:-2]
print number[::-2]
print number[5::-2]
print number[:5:-2]
print "~~~~~~~~~~~~~~~~~~~~~~~~~~5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#        ,              , :             (String   int         )
print [1,2,3] + [5,6,7]
print 'Python  ' * 5
print [1,2] * 5
#  None      5   
print [None] * 5
print "~~~~~~~~~~~~~~~~~~~~~~~~~~6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#    ,           ,    in   ,               ,              
#        ,             ,             
database = [
    ['teacher','123'],
    ['zhenyu','521'],
    ['jielun','zhou'],
    ['student','study']
    ]
words = [1,2,3,4]
for word in words:
    user = raw_input('Please enter your user name:')
    password = raw_input('Enter your password now:')
    if([user,password] in database):
        print 'Welcome!My '+ user
        break
    else:
        print 'Sorry, cannot in!'
        if word == 4:
            print 'Sorry,you have enter wrong four times!'
print "~~~~~~~~~~~~~~~~~~~~~~~~~~7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#    (len),   (max),   (min)
print min([4,323,443,5563,-2])
print max([4,323,443,5563,-2])
print len([4,323,443,5563,-2])
print "~~~~~~~~~~~~~~~~~~~~~~~~~~8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#List  (       ),  list           
print list('LiZhenyu')
#           ,  ''.join(list)
print ''.join(['Zhenyu ','Is ','My ','Favorite ','Boy'])
#       
classes = ['math','English','Chinese','French','Science']
classes[3] = 'What?'
print classes
#        
del classes[2]
print classes
#    ,     ,liebiao[m:n] = list[]
name = list('Perl')
name[2:] = ['2','3','3']
name[2:] = list('ar')
print name
#            ,      , m       number[m:m] = list
number = [1,5]
number[1:1] = [2,3,4]
print number
#         ,            , 1  4
number[1:4] = []
print number
print "~~~~~~~~~~~~~~~~~~~~~~~~~~9~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#    
#append  ,           
name = [1,2,3,4]
name.append(6)
print name
#count                 
print list('My English is not very good,but I speak a lot.').count('o')
#extend                ,   a=a+b  ,       :a[len(a):] = b
a = list('This is my ')
b = list('favorite language!')
a.extend(b)
print ''.join(a)
#index                      ( 0  ),          
num = list('The world is flat.')
print num.index('w')
#insert               
num.insert(0,'What ')
print ''.join(num)
#pop           (       ),         
print num.pop(15)
print ''.join(num)
#remove                   
num.remove('i')
print ''.join(num)
#reverse             
x = [1,2,3,4,5]
x.reverse()
print x
#sort            , :    ,          
num.sort()
print ''.join(num)
#     ,    ,    =    , y=x(      ,    ),          ,y=x[:]
x = [1,4,6,8,2,6,9,3]
y = x[:]
z = x
y.sort()
z.append(100)
print x,y,z
print "~~~~~~~~~~~~~~~~~~~~~~~~~~10~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#  ,  :        ,           (       ),             
print 1,2,3
print ()
print (1,)
#tuple          ,       
print tuple(list('The world is flat.'))
print "~~~~~~~~~~~~~~~~~~~~~~~~~~END~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
#               ,          
raw_input("Press <Enter> To Quit!")
プログラムダウンロードリンク:ダウンロードリンク