zoukankan      html  css  js  c++  java
  • python之元组

    一.元组定义

    元组(tuple)使用小括号()来定义,它是不可变数据类型,它的元素不可变,但元素的元素是可变的,比如tuple中一个元素为list列表时,list中的元素是可变的

    # 在定义tuple时,元素就必须确定下来
    aa = (1, "ok")
    # aa[0] = 2 tuple元素不能修改
    print(aa)
    # 在定义只有一个元素的tuple时,注意要在第一个元素后加上",",aa=(2,),否则会被认为是赋值aa=(2)
    aa = (2, )  # tuple
    print(type(aa))
    aa = (2)    # int,被认为是一个数字
    print(type(aa))

    二.理解元素不可变

    # tuple的元素指向不变,但指向的内容可变
    classes = [1, 2]
    tuple1 = ("a", "b", classes)    # tuple1指向classes没有变,但classes本身的内容是可以变的
    print(tuple1)
    classes[0] = 11
    classes[1] = 22
    print(tuple1)
    
    输出如下
    ('a', 'b', [1, 2])
    ('a', 'b', [11, 22])

    三.元组遍历

    元组是有序的,有下标,可以切片,拼接,可以通过for循环遍历获取每一个元素

    tuple1 = (1, 2, 3, 4, 5)
    
    for i in tuple1:
        print(i)
    
    输出如下
    1
    2
    3
    4
    5

    四.元组的切片

    常见切片如下

    tuple1 = (1, 2, 3, 4, 5)
    
    print(tuple1[::])       # 获取所有元素
    print(tuple1[::-1])     # 倒序打印元组所有元素,tuple1元素本身不变
    print(tuple1[1:3])      # 获取下标为1, 2的元素(2, 3)
    print(tuple1[:4])       # 不写起始位置,默认从头开始,0,1,2,3,(1,2,3,4)
    print(tuple1[3:])       # 不写结束位置,默认一直截到最后,3,4,(4,5)
    
    输出结果如下
    (1, 2, 3, 4, 5)
    (5, 4, 3, 2, 1)
    (2, 3)
    (1, 2, 3, 4)
    (4, 5)

    五.元组的常见方法使用

    tuple1 = (1, 2, 3, 4, 5)
    
    # 获取元组元素个数,即元素长度
    print(len(tuple1))
    print(tuple1.__len__())
    
    输出结果如下
    5
    5
    tuple1 = (1, 2, 3, 2, 4, 5)
    
    print(tuple1.count(2))      # .count(e),获取元素e在元组中出现的次数
    print(tuple1.index(2))      # .index(e),获取元素e在元组中第一次出现时的下标
    
    输出结果如下
    2
    1

     六.元组的应用场景

    1.作为函数的参数和返回值

    元组中的数据通常类型都不不同的,所以通过for遍历使用的很少

    2.格式化输出时使用的就是一个元组

    print("my name is %s, now is %d years old" % ("xiaoming", 23))

    也可以这样写

    user_info = ("xiaoming", 23)

    print("my name is %s, now is %d years old" % userinfo)

    或者这样写

    user_info = "my name is %s, now is %d years old" % ("xiaoming", 23)

    print(user_info)

    3.保证数据安全

    如果为了保证数据不被人修改,可以定义为元组类型。

  • 相关阅读:
    处理不均衡数据 (Imbalanced data)
    过拟合 (Overfitting)
    加速神经网络训练 (Speed Up Training)
    Python3 S.join() 个人笔记
    OpenCV中的图像形态学转换
    OpenCV中的绘图函数
    OpenCV中图像的BGR格式及Img对象的属性说明
    OpenCV中图像的读取,显示与保存
    msyql-02
    jumpserver的快速部署
  • 原文地址:https://www.cnblogs.com/golinux/p/10788353.html
Copyright © 2011-2022 走看看