无名商城论坛

搜索
查看: 255|回复: 0

[其他技术] 【LSP】Python基础9 元组的访问和拆包

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 17:03:34 | 显示全部楼层 |阅读模式


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 str35 #他可能把他当作字符串处理了。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的迭代变量对元组进行循环操作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表