• 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的迭代变量对元组进行循环操作
    悟已往之不谏,知来者之可追
  • 相关阅读:
    Android 获取系统相册中的所有图片
    80 端口被占用 pid=4
    Android GridView 通过seletor 设置状态和默认状态
    Could not create SSL connection through proxy serve-svn
    Android 自定义 attr
    android 使用Tabhost 发生could not create tab content because could not find view with id 错误
    CodeSimth
    Android Ormlite 学习笔记2 -- 主外键关系
    Android Ormlite 学习笔记1 -- 基础
    Nhibernate的Session管理
  • 原文地址:https://www.cnblogs.com/ljh-study/p/13747372.html
Copyright © 2020-2023  润新知