Python基础9 元组的访问和拆包

 1 #元组
 2 
 3 #访问元组
 4 
 5 #元组的分片操作(为啥不叫切片)
 6 #还是tuple1[int1:int2:int3];
 7 
 8 a=("","有本事","砍我",[1,4,5,6]);
 9 print(a[0:3]);
10 #这里输出的什么?
11 print(type(a[0:3]));
12 #还是元组,而这里切片的是元组的部分,所以中间会有‘,’的存在
13 #其他内容和分片操作一模一样,就不演示了。
14 
15 #再就是元组的拆包
16 #和C#的拆包有点类似吧(反正你又不用操心类型)
17 
18 s1,s2,s3,list_1=a;
19 print(s1,s2,s3,list_1);
20 #拆包结果
21 
22 #拆包操作中,给最后一个变量加上*就会把后面所有剩余的全部打包给他
23 s5,*n=a;
24 print(s5);
25 print(*n);
26 #这里*n的内容是 有本事,看我,.....
27 #但是我们稍作改变
28 print(n);
29 #输出的结果是[有本事,看我,.....]
30 #存在不一样的地方
31 
32 #print("*n变量的类型是",type(*n));
33 #这一句直接报错
34 #TypeError: type.__new__() argument 2 must be tuple, not str
35 #他可能把他当作字符串处理了。
36 print("n变量的类型是",type(n));
37 #而只有这一句正常运行
38 #输出出来是List类型
39 
40 #简单的说明了
41 #拆包中*n,是*+变量,只有n才是变量,而*n则是表示元组
42 print("*n变量是".format(type(n)));
43 #他无法转变成字符串类型
44 
45 #选择元组拆包
46 #用“_”来表示不拆包
47 
48 str1 , _ , str2 ,_=a;
49 print(str1,str2);
50 #这里第二个和最后一个就被无视了
51 #但是要注意的是,拆包操作只要开始拆包了
52 #就要每个元素都拆出来
53 
54 #遍历元组
55 #就是用for的迭代变量对元组进行循环操作
悟已往之不谏,知来者之可追
原文地址:https://www.cnblogs.com/ljh-study/p/13747372.html