zoukankan      html  css  js  c++  java
  • 5. Python数据类型之元组、集合、字典

    元组(tuple)

    元组创建很简单,只需要在小括号中添加元素,并使用逗号隔开即可。与列表不同的是,元组的元素不能修改。如下代码所示:

    tup1 = ()
    tup2 = (1)
    tup3 = (1,)
    tup4 = ('test', 1, False)
    tup5 = (1, 2, 3, 4, 5)
    tup6 = "a", "b", "c", "d"
    
    print(type(tup1))
    print(type(tup2))
    print(type(tup3))
    print(type(tup4))
    print(type(tup5))
    print(type(tup6))
    
    

    上面代码将输出如下内容:

    <class 'tuple'>
    <class 'int'>
    <class 'tuple'>
    <class 'tuple'>
    <class 'tuple'>
    <class 'tuple'>

    通过输出内容我们发现只有tup2类型是整型,其余都是元组。这是为什么呢?如果小括号里只有一个元素时,请在后面加上“,”,才能表示元组。tup6虽然没有用(),但是也是元组一种特殊的写法。

    操作元组

    元组(tuple)与列表类似,不同之处在于元组的元素不能修改。我们可以对元组进行相关操作。如下代码所示:

    a = (1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA'])
    print("通过索引方式访问元组第1个元素:", a[0])
    print("通过索引方式访问元组第2个元素:", a[1])
    print("通过索引方式访问元组第3个元素:", a[2])
    print("通过索引方式访问元组第4个元素:", a[3])
    print("通过索引方式访问元组第5个元素:", a[4])
    print("通过索引方式访问元组第6个元素:", a[5])
    print("用负数访问方式,元组第6个元素为:", a[-1])
    print("用负数访问方式,元组第5个元素为:", a[-2])
    
    print("元组第2个元素到第6个元素,步长为2:", a[1:5:2])
    print("倒数第2个数到最后:", a[-2:])
    print("元组第6个元素是一个列表,访问嵌套列表第1个元素:", a[5][0])
    
    
    

    上面代码将输出如下内容:

    通过索引方式访问元组第1个元素: 1
    通过索引方式访问元组第2个元素: test
    通过索引方式访问元组第3个元素: 你好
    通过索引方式访问元组第4个元素: 3
    通过索引方式访问元组第5个元素: False
    通过索引方式访问元组第6个元素: [2, 3, 'CHINA']
    用负数访问方式,元组第6个元素为: [2, 3, 'CHINA']
    用负数访问方式,元组第5个元素为: False
    元组第2个元素到第6个元素,步长为2: ('test', 3)
    倒数第2个数到最后: (False, [2, 3, 'CHINA'])
    元组第6个元素是一个列表,访问嵌套列表第1个元素: 2

    集合(set)

    集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    创建格式

    set1 = {value1,value2,...}
    或者
    set(value)

    我们可以对元组进行相关操作。如下代码所示:

    name = {'testDog', 'Jim', 'Mary', 'Jim', 'Jack', 'Rose'}
    
    print(name)  # 输出集合,重复的元素被自动去掉
    
    # 成员测试
    if 'testDog' in name:
        print('testDog 在集合中')
    else:
        print('testDog 不在集合中')
    
    # set可以进行集合运算
    a = set('testDogDog')
    b = set('test')
    c = {}
    
    print(a)
    print(b)
    print(type(c))
    print(a - b)  # a 和 b 的差集
    print(a | b)  # a 和 b 的并集
    print(a & b)  # a 和 b 的交集
    print(a ^ b)  # a 和 b 中不同时存在的元素
    
    

    上面代码将输出如下内容:

    {'Mary', 'Rose', 'testDog', 'Jack', 'Jim'}
    testDog 在集合中
    {'t', 'e', 'g', 's', 'o', 'D'}
    {'t', 's', 'e'}
    <class 'dict'>
    {'D', 'o', 'g'}
    {'t', 'e', 'g', 's', 'o', 'D'}
    {'t', 's', 'e'}
    {'o', 'g', 'D'}

    注意:因为集合是无序的,所以你输出的结果顺序可能与笔者不一致,并不是错误,如果定义一个空{},类型将为字典

    字典(dict)

    列表是有序的对象集合,字典是无序的对象集合。字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。如下代码所示:

    a = {"code": "10000", "result": 1, "status": 1, "text": "操作成功"}
    print("取code的值", a["code"])
    
    print("输出所有键", a.keys())
    print("输出所有值", a.values())
    
    

    上面代码将输出如下内容:

    取code的值 10000
    输出所有键 dict_keys(['code', 'result', 'status', 'text'])
    输出所有值 dict_values(['10000', 1, 1, '操作成功'])

    小结:数据类型主要有数字、字符串、列表、元组、集合、字典。笔者将通过思维导图找出这些数据类型共通点和不同点,方便记忆。如下图所示:

    欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

  • 相关阅读:
    Linux目录管理常用指令
    生成器
    Python上的MVC和MVT理解,请求头,请求体,请求行的理解
    sellect、poll、epoll
    冒泡法排序
    (android / IOS)
    发现一个bug如何定位是前端还是后台问题?
    ANR----以及如何定位是前端问题还是后台问题?
    给你一个web端项目你如何展开测试?
    给你一个app你如何展开测试?
  • 原文地址:https://www.cnblogs.com/suim1218/p/10368094.html
Copyright © 2011-2022 走看看