In [1]:
# 只能查询,其他操作和列表差不多(不可变)(最后面有可变扩展)
test_tuple=("萌萌哒",1,3,5,"加息","加息")
In [2]:
# count index
print(test_tuple.count("加息"))
print(test_tuple.index("萌萌哒"))#没有find方法
2
0
In [3]:
# 注意是左闭右开区间==>[1,4)
print(test_tuple.index("加息", 1, 4))#查不到报错:ValueError: tuple.index(x): x not in tuple
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-1964eb3cc71a> in <module>()
      1 # 注意是左闭右开区间==>[1,4)
----> 2 print(test_tuple.index("加息", 1, 4))#查不到报错:ValueError: tuple.index(x): x not in tuple

ValueError: tuple.index(x): x not in tuple
In [4]:
#下标取
print(test_tuple[0])
print(test_tuple[-1])
萌萌哒
加息
In [5]:
# 遍历方式1
for item in test_tuple:
    print(item)
萌萌哒
1
3
5
加息
加息
In [6]:
# 遍历方式2
i=0
while i<len(test_tuple):
    print(test_tuple[i])
    i+=1
萌萌哒
1
3
5
加息
加息
In [7]:
# 定义的扩展:
test_tuple1=(1,) #(1)就不是元祖了
test_tuple2=(2)
print(type(test_tuple1))
print(type(test_tuple2))
<class 'tuple'>
<class 'int'>
In [8]:
# 扩展:(后面讲字典遍历的时候会再提一下的)
a=(1,2)
b=a#把a的引用给b
#a里面两个值,直接给左边两个变量赋值了(有点像拆包了)
c,d=a #不是把a分别赋值给c和d,等价于:c=a[0] d=a[1]

print(a)
print(b)
print(c)
print(d)
(1, 2)
(1, 2)
1
2
In [9]:
# 扩展:多维元组
some_tuples=[(2,"萌萌哒"),(4,3)]
some_tuples[0]
some_tuples[0][1]
Out[9]:
'萌萌哒'
In [10]:
# 扩展:可变的元组(元组在定义的时候就不能变了,但是可以通过类似这种方式来改变)
value_tuple = ("a", "1", ["mmd"],{"name":"dnt"})
In [11]:
value_tuple
Out[11]:
('a', '1', ['mmd'], {'name': 'dnt'})
In [12]:
value_tuple[2].append("test")
print(value_tuple)
('a', '1', ['mmd', 'test'], {'name': 'dnt'})
In [13]:
value_tuple[3]["wechat"]="dotnetcrazy"
print(value_tuple)
('a', '1', ['mmd', 'test'], {'name': 'dnt', 'wechat': 'dotnetcrazy'})
In [ ]: