[Python]スタディノート4タプル

タプルとは何ですか?

タプルは、リストと同じようにシーケンスです。タプルとリストの違いは、リスト(可変)とは異なり、タプルは変更できない(不変)ことです。
タプルは角かっこ()を使用し、リストは角かっこ[]を使用します。

1.タプルを初期化し、値を割り当てます

#两种方法都可以初始化
emptyTuple=()
emptyTuple1=tuple()

#两种方法都可以赋值
emptyTuple=(1,2,3,4)
emptyTuple1=1,2,3,4

print(emptyTuple)
print(emptyTuple1)

結果:
ここに画像の説明を挿入

覚えておくことが重要です

値を1つだけ含むタプルを作成する場合は、項目の後にコンマを追加する必要があります。

#只有一个值的话后面要加逗号
tup=('a',)
tup1='a',

#如果没有逗号,那它是一个string不是一个元组了
notTuple=('a')

print(tup)
print(tup1)
print(notTuple)

結果:
ここに画像の説明を挿入
2。訪問価値

tun=(2,3,4,5)
print(tun[0])#索引正向从0开始
print(tun[-4])#索引负向从最后一个-1开始倒数

結果:
ここに画像の説明を挿入
3。タプルを分割します

tun=(2,3,4,5)
print(tun[0:2])
print(tun[:3])
print(tun[-3:-1])

結果:
ここに画像の説明を挿入
4。タプルは変更できません

tun=(2,3,4,5)
tun[0]='fish'

結果:
ここに画像の説明を挿入

タプルが不変であっても、既存のタプルの一部を使用して新しいタプルを作成できます

tun=(2,3,4,5)
tun1=(6,7,8,9)
tunall=tun+tun1
print(tunall)

結果:
ここに画像の説明を挿入
5。タプル法

animals=('pig','pig','cat',1)

#返回索引
print('pig first index: ',animals.index('pig'))
print('cat first index: ',animals.index('cat'))

#计数
print(animals.count('pig'))

結果:
ここに画像の説明を挿入

6.タプルを反復処理します

animals=('pig','pig','cat',1)

for item in animals:
    print(item)

for item in ('a','b','c'):
    print(item)

結果:
ここに画像の説明を挿入
7。タプルのアンパックタプル
はシーケンスのアンパックに非常に役立ちます

x,y=(7,10)
print(x)
print(y)

print("Value of x is {},the value of y is {}".format(x,y))

結果:
ここに画像の説明を挿入
8。列挙
列挙関数は、各反復のカウント(デフォルトの0から開始)と反復シーケンスによって取得された値を含むタプルを返します

friends = ('Steve', 'Rachel', 'Michael', 'Monica')
for index, friend in enumerate(friends):
    print(index,friend)
    print(index)
    print(friend)


for index in enumerate(friends):
    print(index)

結果:
ここに画像の説明を挿入

リストに対するタプルの利点

リストとタプルは、値をシーケンスに格納するために使用される標準のPythonデータ型です。タプルは不変ですが、リストは変更可能です。

タプルリストのその他の利点は次のとおりです。

**グループはリストよりも高速です。**定数値のセットを定義する場合は、リストの代わりにタプルを使用して、定数値を反復処理するだけです。パフォーマンスの違いは、Pythonコードの時間を計ることができるtimeitライブラリを使用して部分的に測定できます。次のコードは、メソッドごとに100万回コードを実行し、費やされた合計時間(秒単位)を出力します。

import timeit 
print('Tuple time: ', timeit.timeit('x=(1,2,3,4,5,6,7,8,9,10,11,12)', number=1000000))
print('List time: ', timeit.timeit('x=[1,2,3,4,5,6,7,8,9,10,11,12]', number=1000000))

結果:
ここに画像の説明を挿入
タプルは辞書キーとして使用できます:一部のタプルは辞書キーとして使用できます(特に、文字列、数値、その他のタプルなどの不変の値を含むタプル)。リストは不変ではないため、リストを辞書キーとして使用することはできません。

bigramsTupleDict = {
    
    ('this', 'is'): 23,
                    ('is', 'a'): 12,
                    ('a', 'sentence'): 2}

print(bigramsTupleDict)

結果:
ここに画像の説明を挿入
しかし、リストは機能しません

bigramsListDict = {
    
    ['this', 'is']: 23,
                   ['is', 'a']: 12,
                   ['a', 'sentence']: 2}

print(bigramsListDict)

結果:
ここに画像の説明を挿入
タプルはコレクション内の値になる可能性があります

graphicDesigner = {
    
    ('this', 'is'),
                   ('is', 'a'),
                   ('a', 'sentence')}
print(graphicDesigner)

結果:
ここに画像の説明を挿入
リストをコレクション内の値にすることはできません。

graphicDesigner = {
    
    ['this', 'is'],
                   ['is', 'a'],
                   ['a', 'sentence']}
print(graphicDesigner)

結果:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Shadownow/article/details/105818489