• Python-元组


    一、元组

    元组的定义:其实我自己理解的元组就是不能修改的列表,至于为什么不能修改,应该是防止程序不小心变动重要的数据吧!

    元组的创建:

       元组在小括号中添加元素,并使用逗号隔开

    例子:

    #!/usr/bin/env python
    
    tup = ("Alex","huige",1,"lisa")
    print(tup)
    输出:
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1, 'lisa')

     元组和列表的不同

     1、列表能修改而元组不能

    例:

    tup = ("Alex","huige",1,"lisa")
    print(tup)
    tup[0] = "junge"
    list = ["a","b","c"]
    list[0] = "s"
    print(list)
    
    就会报错
    Traceback (most recent call last):
    ('Alex', 'huige', 1, 'lisa')
      File "D:/linux/python/all_test/listandtup.py", line 13, in <module>
        tup[0] = "junge"
    TypeError: 'tuple' object does not support item assignment

    2、列表能在不同的标志位插入内容,而元组不行

    例子:

    tup = ("Alex","huige",1,"lisa")
    print(tup)
    tup.insert(1,"HH")
    list = ["a","b","c"]
    list.insert(2,"e")
    print(list)
    
    报错
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1, 'lisa')
    Traceback (most recent call last):
      File "D:/linux/python/all_test/listandtup.py", line 13, in <module>
        tup.insert(1,"HH")
    AttributeError: 'tuple' object has no attribute 'insert'

    3、列表可以删除,元组不可以

    tup = ("Alex","huige",1,"lisa")
    print(tup)
    list = ["a","b","c"]
    print(list)
    del list
    print(list)
    del tup
    print(tup)
    
    报错
    
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1, 'lisa')
    Traceback (most recent call last):
    ['a', 'b', 'c']
      File "D:/linux/python/all_test/listandtup.py", line 18, in <module>
    <class 'list'>
        print(tup)
    NameError: name 'tup' is not defined

    说了那么多元组不能做的,那元组能做什么?

    那下面我们就来唠一唠

    1、最基础的能访问

    tup = ("Alex","huige",1,"lisa")      #定义元组
    print(tup)                                     #打印元组     
    print(tup[0])                                 #打印元组第一个元素
    print(tup[0:2])                              #打印元组前两个元素和列表一样顾头不顾尾
    print(tup[-1])                                #打印元组最后一个元素
    输出
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1, 'lisa')
    Alex
    ('Alex', 'huige')
    lisa        

    2、元组的组合

    tup = ("Alex","huige",1,"lisa")
    print(tup)
    tup1 = ("hui","junge",1)
    tup2 = tup + tup1
    print(tup2)
    
    输出
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1, 'lisa')
    ('Alex', 'huige', 1, 'lisa', 'hui', 'junge', 1)

    3、元组的运算符,这点和列表差不多

    我们举几个例子

    tup = ("Alex","huige",1,"lisa")
    tup1 = ("hui","junge",1)
    print("元组元素的个数:%s" % (len(tup)))
    tup3 = tup + tup1   #元组连接
    print(tup3)
    #元组的迭代
    for i in tup:
        print(i)
    #元组的判断
    if 1 in tup:
        print("Yes")
    else:
        print("No")
    
    输出
    
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    元组元素的个数:4
    ('Alex', 'huige', 1, 'lisa', 'hui', 'junge', 1)
    Alex
    huige
    1
    lisa
    Yes

    元组的索引和截取,我们就不说了,大概如下图:

    元组的内置函数

    我们根据上图来做一下操作,如下:

     1、cmp()方法语法

    cmp(tup1,tup2)

    描述:用来比较两个元组元素,比较方法规则如下:

    如果比较的元素是同类型的,则比较其值,返回结果。
    如果两个元素不是同一种类型,则检查它们是否是数字。
    如果是数字,执行必要的数字强制类型转换,然后比较。
    如果有一方的元素是数字,则另一方的元素""(数字是"最小的")
    否则,通过类型名字的字母顺序进行比较。
    如果有一个列表首先到达末尾,则另一个长一点的列表""。
    如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

    备注:python3 中已经没有cmp函数了,被operator模块代替

    由于这个模块需要导入,我们日后再说

    2、len()函数

    tup = ("Alex","huige",1)
    tup1 = ("hui","junge",1)
    
    print(len(tup))
    print(len(tup1))

    3、max()函数和min()函数

    求元组中最大或者最小的值

    举例:

    tup = ("Alex","huige""123")
    tup1 = ("hui","junge",1)
    print(max(tup))                   #最大值
    print(min(tup))                    #最小值

    4、tuple函数

    此函数是将列表转为元组,多的不说上例子

    alist = ["Alex","huige",1]
    atuple = tuple(alist)
    print(atuple)
    #也可以将字典转为元组
    dict = {"a":"d","b":1}
    tup1 = tuple(dict)
    print(tup1)                 #这里需要注意的是字典转为元组只返回键的值
    输出:
    C:Python35python.exe D:/linux/python/all_test/listandtup.py
    ('Alex', 'huige', 1)
    ('a', 'b')

    好了,到这里我们元组就说完了,拜拜

       

  • 相关阅读:
    docker registry
    2019最新EI源刊目录
    在Asp.net Core中使用中间件来管理websocket
    自定义WPF窗体形状
    Font Awesome矢量版,十六进制版,WPF字体使用
    什么是fortran语言之fortran语言入门
    Java各国首都列表
    世界各国货币,C#数字货币计算
    Ocelot中文文档入门
    F#语言入门之什么是F#语言
  • 原文地址:https://www.cnblogs.com/Plynn/p/6322526.html
Copyright © 2020-2023  润新知