Python005

24409 ワード

***
文字列
Pythonで最も一般的なデータ型で、引用符('または")で文字列を作成できます.
文字列演算子
 str = 'abc123456'
 print(str[2])           # []       ,     'c'
 print(str[2:])          #    2    
 print(str[2::2])        #     2    ,   2
 print(str[::2])         #       ,   2
 print(str[::-1])        #         (  )
 print(str[2:5])         #        ,    (   0 ,   1 )
 print(str[-1])          #        
 print(str[-1:-3:-1])    #    -1    ,-3    (   ),  -1    

文字列組み込み関数
 str = 'hello, world!'
 print(str.isdigit())    #            
 print(str.isalpha())    #                
 print(str.isalnum())    #                  
 print(len(str1))        #       
 print(str.capitalize()) #               ,       
 print(str.upper())      #                 
 print(str.find('or'))   #   or
 print(str.find('shit'))
 print(str.index('or'))
 print(str.index('shit'))
 print(str.startswith('He'))  #                  ,       True,     False
 print(str.startswith('hel'))
 print(str1.endswith('!'))  #               ,           True,    False
 print(str1.center(50, '*'))  #           ,           width      。         
 print(str1.rjust(50, ' '))

練習する
練習1
テキストのループ再生
#import os      
import time

def main():
    content = '     !'
    while True:
        #os.system('cls')
        print(content)
        time.sleep(0.5)
        content = content[1:] + content[0]


if __name__ == '__main__':
    main()

練習2
文字列がアルファベットと数字で構成されているかどうかを判断します.
def main():
    str2 = 'abc123456'
    print(str2.isalnum())


if __name__ == '__main__':
    main()

リスト#リスト#
1.リストコンテナがあり、1つの変数を使用して複数のデータを保存することができます.さらに重要なのは、ループを使用してリスト内のデータを操作することです.pythonに組み込まれているソート方法のデフォルトは昇順(小さいものから大きいもの)ですが、降順(大きいものから小さいもの)をソートする場合はreverseパラメータで指定できます.
def main():
    list1 = [1, 3, 5, 7, 100]
    print(list1)
    list2 = ['hello'] * 5
    print(list2)
    #       (    )
    print(len(list1))
    #   (  )  
    print(list1[0])
    print(list1[4])
    # print(list1[5])  # IndexError: list index out of range
    print(list1[-1])
    print(list1[-3])
    list1[2] = 300
    print(list1)
    #     
    list1.append(200)
    list1.insert(1, 400)
    list1 += [1000, 2000]
    print(list1)
    print(len(list1))
    #     
    list1.remove(3)
    if 1234 in list1:
        list1.remove(1234)
    del list1[0]
    print(list1)
    #       
    list1.clear()
    print(list1)

if __name__ == '__main__':
    main()

リストのソートなどの問題
def main():
    list1 = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry']
    list2 = sorted(list1)
    # sorted                     
    #          sorted             
    list3 = sorted(list1, reverse=True)
    #   key                             
    list4 = sorted(list1, key=len)
    print(list1)
    print(list2)
    print(list3)
    print(list4)
    #                        
    list1.sort(reverse=True)
    print(list1)


if __name__ == '__main__':
    main()

リスト生成
def main():
    #      []
    #          ,       
    #               ,             
    f = list(range(1, 10))
    #        
    print(f)
    #        
    f = [x for x in range(1, 10)]
    print(f)
    f = [x ** 2 for x in range(1, 10)]
    print(f)
    f = [x ** x for x in range(1, 10)]
    print(f)

    #      ()
    #              ,         
    #            ,          
    #                    ,        
    f = (x ** x for x in range(1, 10))
    print(f)
    for val in f:
        print(val)

    f = (x ** 2 for x in range(1, 10))
    print(f)
    for val in f:
        print(val)

if __name__ == '__main__':
    main()

練習1
クロノグラフ出現数
from random import randint

def main():
    #                 
    #                    
    f = [0] * 6
    #   f[]    (  )
    for _ in range (6000):
        face = randint(1, 6)
        f[face - 1] += 1
    print(f)

if __name__ == '__main__':
    main()

練習2
f = [100, 200, 500]
for  index, val in enumerate(f):
    # index        
    # val      
    print(index, ':', val)



def main():
    f = [100, 200, 500]
    # CRUD  
    f.append(123)
    print(f)
    f.insert(1, 300)
    print(f)
    if 500 in f:
        f.remove(500)
    # f.clear  #     
    del f[3]

    print(f)

練習4
フィボラチェ数列
def main():
    f = [1, 1]
    print(f)
    for x in range(2, 21):
        x = f[x - 1] + f[x - 2]
        f.append(x)
        print(f)

if __name__ == '__main__':
    main()

練習5
リスト内の最大値の最小値と平均値の検索
def main():
    scores = [95, 78, 62, 99, 45, 32, 80]
    min_score = max_score = scores[0]
    total = 0
    for score in scores:
        if score > max_score:
            max_score = score
        elif score < min_score:
            min_score = score
        total += score
    print('   :',max_score)
    print('   :',min_score)
    print('   :%.2f' % (total / len(scores)))

if __name__ == '__main__':
    main()

練習6
2色球選択
import random

def main():
    n = int(input('    :'))

    red_ball = [x for x in range(1, 34)]
    blue_ball = [x for x in range(1, 17)]

    for _ in range(n):
        f1 = random.sample(red_ball, 6)
        f2 = sorted(f1)
        f3 = random.sample(blue_ball, 1)
        f2.append(f3[0])
        print(f2)       


if __name__ == '__main__':
    main()

練習7
検索リストの2番目に大きい数
def second_max(x):
    # tuple--  
    (m1, m2) = (x[0], x[1]) if x[0] > x[1] else (x[1], x[0])
    for index in range(2, len(x)):
        if x[index] > m1:
            m2 = m1
            m1 = x[index]
        elif x[index] > m2:
            m2 = x[index]
    return m1, m2


def main():
    my_list = [1, 2, 3, 5, 0, 7]
    print(second_max(my_list))

if __name__ == '__main__':
    main()

メタグループ
メタグループはリストと似ていますが、メタグループの要素は変更できません.前のコードでは、メタグループを使用したことは一度もありません.名前の通り、複数の要素を組み合わせてメタグループを形成するので、リストと同じように複数のデータを保存できます.次のコードでは、メタグループを定義および使用する方法を示します.
def main():
    #     
    t = ('  ', 38, True, '    ')
    print(t)
    #         
    print(t[0])
    print(t[3])
    #        
    for member in t:
        print(member)
    #        
    # t[0] = '   '  # TypeError
    #   t                    
    t = ('   ', 20, True, '    ')
    print(t)
    #         
    person = list(t)
    print(person)
    #             
    person[0] = '   '
    person[1] = 25
    print(person)
    #         
    fruits_list = ['apple', 'banana', 'orange']
    fruits_tuple = tuple(fruits_list)
    print(fruits_tuple)


if __name__ == '__main__':
    main()

しゅうごう
Pythonの集合は数学の集合と一致しており、重複要素は許されず、交差、並列、差分などの演算が可能である.無秩序に配列されているため、集合には下付きスケール演算がありません.コレクション内で対応するシーケンス番号を検索できない要素(find()
def main():
    list1 = [1, 1, 2, 2, 3, 3]
    print(list1)
    tuple1 = (1, 1, 2, 2, 3, 3)
    print(tuple1)
    #   
    set1 = {1, 1, 2, 2, 3, 3}
    print(set1)
    #   
    set2 = {1, 3, 5, 7, 9}
    print(set2)
    set3 = set1.intersection(set2)  #   
    # set3 = set1 & set2        
    print(set3)
    set3 = set1.union(set2)  #   
    # set3 = set1 \ set2        
    print(set3) 
    set3 = set1.difference(set2)  #  
    # set3 = set1 - set2
    print(set3)
    set3 = set2.difference(set1)
    print(set3)
    set3 = set1.symmetric_difference(set2)  #    
    # set3 = set1 
    print(set3)
    print(set2.pop())  #        
    for val in set2:
        print(val)
    if 3 in set2:
        set2.remove(3)  #       3,  3


if __name__ == '__main__':
    main()

辞書
def main():
    dict1 = {'name': '  ', 'age': '24', 'gender': True}
    print(dict1['name'])
    print(dict1['age'])
    print(dict1['gender'])
    dict1['name'] = '  '
    dict1.update(heighut=170, fav=[' ', ' ']) #     
    print(dict1.pop('age')) #   ,    
    print(dict1.popitem())
    del dict1['gender']  #   key
    print(dict1)
    for x in dict1:
        print(x, '--->', dict1[x]) #      
    dict1.setdefault('motto','         ')
    if 'motto' in dict1:
        print(dict1['motto'])
    else:
        print('  ')

if __name__ == '__main__':
    main()