zoukankan      html  css  js  c++  java
  • python---(元组)tuple

     1 # 元组-tuple
     2 #     -元组可以看成是一个不可更改的list
     3 t = ()
     4 print(type(t))
     5 # 创建一个只有一个值的元组
     6 t = (1,)
     7 print(type(t))
     8 print(t)
     9 
    10 t = 1,
    11 print(type(t))
    12 print(t)
    13 
    14 # 创建多个值的元组
    15 t = (1, 2, 3, 4, 5)
    16 print(type(t))
    17 print(t)
    18 
    19 t = 1, 2, 3, 4, 5
    20 print(type(t))
    21 print(t)
    22 
    23 # 使用其他结果构建
    24 list1 = [1, 2, 3, 4, 5, 6]
    25 t = tuple(list1)
    26 print(type(t))
    27 print(t)
    28 
    29 运行结果:::
    30 <class 'tuple'>
    31 <class 'tuple'>
    32 (1,)
    33 <class 'tuple'>
    34 (1,)
    35 <class 'tuple'>
    36 (1, 2, 3, 4, 5)
    37 <class 'tuple'>
    38 (1, 2, 3, 4, 5)
    39 <class 'tuple'>
    40 (1, 2, 3, 4, 5, 6)
     1 # 元组的特性
     2 #     -是一个有序列表
     3 #     -元组数据只可以访问, 不能修改
     4 #     -元组数据可以是任意类型
     5 #     -总之, list所有特性,除了可以修改, 元组都有
     6 #     -也就意味着,list具有的一些操作,比如索引,分片, 序列相加, 相乘资格操作,一模一样
     7 
     8 t = (1, 2, 3, 4, 5,)
     9 print(t[4])
    10 
    11 # # 超标错误
    12 # print(t[12])
    13 
    14 t = (1, 2, 3, 4, 5, 6)
    15 t1 = t[1::2]    #下表从1开始,跳数为2
    16 print(id(t))
    17 print(id(t1))
    18 print(t1)
    19 
    20 # 切片可以超标
    21 t2 = t[2::100]
    22 print(t2)
    23 
    24 
    25 :::
    26 5
    27 2822018933672
    28 2822019685688
    29 (2, 4, 6)
    30 (3,)
     1 # 序列相加
     2 t1 = (1, 2, 3)
     3 t2 = (5, 6, 7)
     4 # 传址操作
     5 print(t1)
     6 print(id(t1))
     7 
     8 t1 = t1 + t2
     9 print(t1)
    10 print(id(t1))
    11 
    12 # 以上操作类似于
    13 t1 = (1, 2, 3)
    14 t2 = (4, 5, 6)
    15 # tuple 的不可修改,指的是内容不可修改
    16 # 修改tuple内容会导致报错
    17 # t1[1] = 100 #报错,tuple不可修改
    18 
    19 :::
    20 (1, 2, 3)
    21 1950629436728
    22 (1, 2, 3, 5, 6, 7)
    23 1950628684712
    1 # 元组相乘
    2 t = (1, 2, 3)
    3 t =t * 3
    4 print(t)
    5 
    6 :::
    7 (1, 2, 3, 1, 2, 3, 1, 2, 3)
     1 t = (1, 2, 3)
     2 if 2 in t:
     3     print("yes")
     4 else:
     5     print("no")
     6 
     7 # 元组遍历, 一般采用for
     8 # 1、单层元组遍历
     9 t = (1, 2, 3, "xj", "i", "lvoe")
    10 for i in t:
    11     print(i, end=" ")
    12 print()
    13 
    14 # 2、双层元组的遍历
    15 t = ((1, 2, 3), (2, 3, 4), ("i", "love", "xj"))
    16 # 对以上元组的遍历, 可以如下
    17 
    18 for i in t:
    19     print(t)
    20 
    21 for k, m, n in t:
    22     print(k, "--", m, "--", n)
    23 
    24 :::
    25 yes
    26 1 2 3 xj i lvoe 
    27 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
    28 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
    29 ((1, 2, 3), (2, 3, 4), ('i', 'love', 'xj'))
    30 1 -- 2 -- 3
    31 2 -- 3 -- 4
    32 i -- love -- xj
     1 # 关于元祖的函数
     2 # len:获取元组的长度
     3 t = (1, 2, 3, 4, 5)
     4 print(len(t))
     5 
     6 # max, min, :最大值最小值
     7 # 如果, 列表或元组中有多个最大值最小值,则实际打印出哪个
     8 print(max(t))
     9 print(min(t))
    10 # tuple:转化或创建元祖
    11 list1 = [1, 2, 3, 4, 5]
    12 t = tuple(list1)
    13 print(t)
    14 t = tuple()
    15 print(t)
    16 
    17 
    18 # 元组的函数
    19 #     基本跟lsit通用
    20 # count:计算指定数据出现的次数
    21 t = (2, 1, 2, 3, 45, 1, 3, 2)
    22 print(t.count(2))
    23 
    24 # index:求指定元素在元组中的索引位置
    25 print(t.index(45))
    26 
    27 # 如果需要查找的数字是多个, 则返回第一个
    28 print(t.index(1))
    29 
    30 
    31 :::
    32 5
    33 5
    34 1
    35 (1, 2, 3, 4, 5)
    36 ()
    37 3
    38 4
    39 1
     1 # 元组变量交换发
     2 #     两个变量交换值
     3 a = 1
     4 b = 3
     5 print(a)
     6 print(b)
     7 print("-----------------")
     8 # java程序员会这么写
     9 c = a
    10 a = b
    11 b = c
    12 print(a)
    13 print(b)
    14 
    15 print("-----------------")
    16 
    17 # pyhton的写法
    18 a, b = b, a
    19 print(a)
    20 print(b)
    21 
    22 
    23 
    24 :::
    25 1
    26 3
    27 -----------------
    28 3
    29 1
    30 -----------------
    31 1
    32 3
  • 相关阅读:
    制作IOS 后台极光推送时,遇到的小问题
    如何实现IOS_SearchBar搜索栏及关键字高亮
    使用WKWebView替换UIWebView,并且配置网页打电话功能
    [Creating an image format with an unknown type is an error] on cordova, ios 10
    面向对象语言还需要指针么?
    推荐一个简单好用的接口——字典序列化
    ITTC数据挖掘系统(六)批量任务,数据查看器和自由文档
    java的LINQ :Linq4j简明介绍
    别语言之争了,最牛逼的语言不是.NET,也不是JAVA!
    ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成
  • 原文地址:https://www.cnblogs.com/Slxc/p/9712159.html
Copyright © 2011-2022 走看看