019元タイプビルトイン方式基

組み込み方法祖先型(タプル)


ビルトイン方式タプル型(タプル)

タプルは不変のリストである、すなわち、値タプルを変更、したがって一般のみだけタプルメモリ要件が取られていないために使用することができません。したがってタプルはまた、リストを置換するので、ほとんど使用されないタプルのリストと比較することができます。タプルは比較優位のリストです:値リストを変更し、リスト構造が変更されますが、唯一のある程度で、タプルを格納する必要があり、そのリストは、より多くのメモリを必要とします。業界団体は、一般的に春を使用しないように、しかし、今業界では、メモリの問題ではありません。

1.定義:()で複数の値がカンマで区切られた要素の任意のタイプを有していてもよいです


# my_girl_friend = tuple(('jason','tank','sean'))
my_girl_friend = ('jason', 'tank', 'sean')

print(f"my_girl_friend: {my_girl_friend}")
###输出结果:
my_girl_friend: ('jason', 'tank', 'sean')
name_str = ('egon')  # ()只是普通包含的意思
name_tuple = ('egon',)

print(f"type(name_str): {type(name_str)}")
print(f"type(name_tuple): {type(name_tuple)}")
###输出结果:
type(name_str): <class 'str'>
type(name_tuple): <class 'tuple'>

3.一般的な操作方法は、内蔵+:ビルトイン方式と一般的な操作:

1.1優先制御(*****)

  1. インデックス値
  2. セクション(かかわらず、端部のケア、ステップ)
  3. 長さlen
  4. メンバーではなく、操作中で
  5. 循環
  6. カウント
  7. 指数

1.インデックス値

1.インデックス値

# tuple之索引取值
name_tuple = ('reed', 'jason', 'tank', 'sean')
# name_tuple[0] = 'reed handsom'  # 报错

print(f"name_tuple[0]: {name_tuple[0]}")
##输出结果:
name_tuple[0]: reed

2.セクション(かかわらず、端部のケア、ステップ)

# tuple之切片
name_tuple = ('reed', 'jason', 'tank', 'sean')

print(f"name_tuple[1:3:2]: {name_tuple[1:3:2]}")
###输出结果:
name_tuple[1:3:2]: ('jason',)

3.長さ

# tuple之长度
name_tuple = ('reed', 'jason', 'tank', 'sean')

print(f"len(name_tuple): {len(name_tuple)}")
###输出结果:
len(name_tuple): 4

4.操作のメンバー

# tuple之成员运算
name_tuple = ('reed', 'jason', 'tank', 'sean')

print(f"'reed' in name_tuple: {'reed' in name_tuple}")
##输出结果:
'reed' in name_tuple: True

5.サイクル

# tuple之循环
name_tuple = ('reed', 'jason', 'tank', 'sean')

for name in name_tuple:
    print(name)
##输出结果:
reed
jason
tank
sean

6.count()

# tuple之count()
name_tuple = ('reed', 'jason', 'tank', 'sean')

print(f"name_tuple.count('reed'): {name_tuple.count('reed')}")
##输出结果:
name_tuple.count('reed'): 1

7.index()

# tuple之index()
name_tuple = ('reed', 'jason', 'tank', 'sean')

print(f"name_tuple.index('reed'): {name_tuple.index('reed')}")
##输出结果:
name_tuple.index('reed'): 0

前記格納された値または複数の値:複数の値

5.秩序や無秩序:順序

name_tuple = ('reed',)
print(f'first:{id(name_tuple)}')
##输出结果:
first:4394454152

前記可変又は非可変:不変データ型

タプルとリストの間の第二、違い

l = ['a', 'b', 'c']
print(f"id(l[0]): {id(l[0])}")
l[0] = 'A'
print(f"id(l[0]): {id(l[0])}")
###输出结果:
id(l[0]): 4357367208
id(l[0]): 4357775176

変数は、理由のリストである:インデックス値に対応するメモリアドレスが変更されてもよいです

対応するメモリアドレス値のインデックスが変更できない、あるいは逆に、限り、インデックス値に対応するメモリアドレスが変更されていないとして、その後、タプルは変更されることはありません:タプルは理由があるになることはできません。

t1 = (['a', 'b', 'c'], 'wc', 'office')

print(f"id(t1[0]): {id(t1[0])}")
print(f"id(t1[1]): {id(t1[1])}")
print(f"id(t1[2]): {id(t1[2])}")

t1[0][0] = 'A'
print(f"t1[0][0]: {t1[0][0]}")
print(f"id(t1[0]): {id(t1[0])}")
print(f"t1: {t1}")
###输出结果:
id(t1[0]): 4394709960
id(t1[1]): 4374626968
id(t1[2]): 4394453568
t1[0][0]: A
id(t1[0]): 4394709960
t1: (['A', 'b', 'c'], 'wc', 'office')

おすすめ

転載: www.cnblogs.com/FirstReed/p/11745908.html