美文网首页
Python语言基础之——元组和字典

Python语言基础之——元组和字典

作者: D低调en | 来源:发表于2020-06-20 09:10 被阅读0次

    1.元组

    1.什么是元组

    元组是不可变的列表(不支持增删改的操作),元组是有序的(支持下标操作)

    元组是容器型数据类型,将()作为容器的标志,多个元素之间用逗号,隔开

    元组中的元素的要求和列表一样

    1)空元组:()

    2)单个元素的元组:

    Tuple2 = (10,)

    print(tuple2, type(tuple2))  # (10,) <class 'tuple'>
    

    3)多个元素的元组

    tuple4 = (100, 200, 300)

    tuple5 = 100, 200, 300

    2.获取元组中的元素

    1.获取单个元素

    names = '生活大爆炸', '权利的游戏', '吸血鬼日记', '破产姐妹', '尼基塔'
    print(names[-2])
    

    2.切片

    names = '生活大爆炸', '权利的游戏', '吸血鬼日记', '破产姐妹', '尼基塔'
    print(names[1::2])
    

    3.遍历

    for 变量 in 元组

    4.其他方式:

    a.

    touple6 = (10, 20, 30)
    x, y, z = touple6
    print(x, y, z)
    num1, num2 = 100, 200  # num1, num2 = (100,200)
    

    b. 变量1,变量2,变量3,... =元组

    前面的变量的个数小于元组中元组的个数,并且有且只有一个变量前有*

    变量最后的取值为不带的变量取后剩下的

    person = ('余婷', '女', 18, 100, 89, 50)
    name, *gender, age, num = person
    print(name, gender, age, num)
    

    2.字典基础

    1.什么时候使用字典:

    a.需要同时保存多个数据

    b.多个数据的意义不同(需要做区分)

    2.什么是字典(dict)

    字典是容器型数据类型,将{}作为容器的标志,多个元素用逗号,隔开,字典元素都是键值对

    {键1: 值1, 键2:值2, }

    字典是可变的,支持增删改,字典是无序的,不支持下标操作

    字典对元素的要求:必须所有元素都是键值对

    键 - 是不可变的,是唯一的,一般是字符串

    值 - 任何类型的数据,可以重复

    字典在保存数据的时候,真正保存的是值,键是用来对值进行区分和说明的

    2.获取字典的值

    1.获取单个元素对应的值

    a. 字典[key] - key不存在会报错

    b. 字典.get(key) - key不存在时候不报错,报None

    c. 字典.get(key, 默认值) - key不存在时候不报错,并且返回默认值

    2 遍历

    for 变量 in 字典

    ​ 循环体

    这里变量取到的是字典中所有的key

    dog = {'name': '财财', 'age': 3, 'breed': '土狗', 'gender': '母', 'weight': 10}
    for x in dog:
        print(x, dog[x])
    

    练习:声明一个变量,同时保存四个学生的信息,每个学生需要包含学生的姓名、年龄、电话、成绩,统计四个学生中未成年人的个数

    students = [{'name': 'zhang', 'age': 19, 'tel': 110, 'score': 70}, {'name': 'zhang', 'age': 13, 'tel': 110, 'score': 70}, {'name': 'zhang', 'age': 17, 'tel': 110, 'score': 70}, {'name': 'zhang', 'age': 190, 'tel': 110, 'score': 70}]
    count = 0
    for x in students:
        if x['age'] < 18:
            count += 1
    print('未成年人个数', count)
    

    3,字典元素的增删改

    1.增、改

    语法一:

    字典[key] = 新值

    改:如果key存在,就将key对应的值修改成指定的值

    增:如果key不存在,就以"key: 新值"的形式添加一个键值对

    语法二:

    添加键值对 :字典.setdufault(键,值)

    movie = {'name': '西游记', 'time': '1978-10-23', 'director': '吴承恩'}
    print(movie)
    movie['time'] = '1989-10-2'
    print(movie)
    movie['score'] = 9.0
    print(movie)
    movie.setdefault('type', '神话')
    print(movie)
    

    2.删

    1.del

    Del 字典[key] - 删除指定key对应的键值对(key不存在会报错)

    2.pop

    字典.pop(key) - 取出字典中指定key对应的值,并返回取出的值

    del movie['director']
    print(movie)
    value = movie.pop ('type')
    print(movie)
    

    4.字典相关操作和方法

    1.字典相关操作

    字典不支持加法和乘法运算

    1.比较运算:

    字典不可以比较大小,只能比较相等

    print({'a': '1', 'b': '2'} == {'b': '2', 'a': '1'})  # True
    

    2.in 和 not in

    数据 in 字典 - 判断字典中是否存在指定的key

    数据 not in 字典 - 判断字典中是否不存在指定的key

    cat = {'name': '花花', 'age': 2, 'colour': '白色'}
    print('name' in cat)  # True
    print('花花' in cat)  # False
    

    3.相关函数

    len(字典) - 统计字典中键值对的个数

    dict(数据) - 将指定的数据转换成字典

    此处对数据的要求:

    1.是容器型数据类型

    2.数据中的元素是有且只有两个元素的容器

    3.小容器中的第一个元素是不可变的

    字典转换成其他数据类型:

    bool(字典) - 空字典会转换成false,其他都输True

    只有数字类型和小部分字符串能转换成数字,其他不行,字典也不行

    list(字典) - 把字典所有的key转换成列表元素

    touple(字典) - 把字典所有的key转换成元组元素

    print(len(cat))
    print(dict([[42, 12], [235, 6346]]))  # {42: 12, 235: 6346}
    print(list(cat))
    

    2.相关方法

    1、 字典.clear() - 清空字典

    2、字典.copy() - 复制字典并产生一个新的字典并返回

    3、dict.fromkeys() - 创建字典

    dict.fromkeys(序列) - 将序列中的元素都作为字典的key,字典的值为none

    dict.fromkeys(序列, 值) - 将序列中的元素都作为字典的key,字典的值都是指定的值

    stu = dict.fromkeys(['name', 'age', 'gender', 'tel', 'address', 'score'])
    print(stu)
    

    4.items, keys, values
    print(cat.keys()) # 获取字典所有的key返回一个容器,这个容器不是列表
    print(cat.values()) # 获取字典所有的值返回一个容器,这个容器不是列表
    print(cat.items()) #获取字典所有的键值对返回一个容器,这个容器不是列表,容器中的元素是元组,每个元组对应一个键值对

    1. update

      字典.update(序列) - 用序列生成的字典去更新原字典(更新方式:不存在就添加,存在就修改)

      dict4 = {'a', '10', 's', '35'}
      dict4.update({'a', 100, 'for'})
      
      

    5.集合(set)

    1.什么是集合

    集合是容器型数据类型,将{}作为容器的标志,里面多个元素用逗号,隔开
    元素是普通数据不是键值对
    {元素1, 元素2, 元素3,...}

    集合是可变的,支持增删改
    集合是无序的
    集合对元素的要求:集合中的元素是不可变并且唯一的,列表不能作为集合中的元素
    可以利用集合元素的唯一性进行去重操作

    空集合:
    empty = set() # {}是空字典
    非空集合
    set1 = {1, 123, 524}

    2.集合中元素的增删改查

    1查
    集合没有办法直接获取单个元素,只能遍历
    '''
    for 变量 in 集合
    循环体
    变量取到的就是集合中的每个元素
    '''
    nums = {42, 525, 563, 56745, 575}
    for x in nums:
    print(x)
    2增
    '''
    方法1
    a.集合.add(元素)
    b.集合.update(序列) - 将序列中元素全部添加到集合中,序列中元素必须是不可变的
    '''
    nums.add(1000)
    print(nums)
    nums.update((1, 23, 35))
    print(nums)
    3删
    '''
    集合.remove(元素) - 删除集合中指定的元素(元素不存在会报错)
    集合.discard(元素) - 删除集合中指定的元素(元素不存在不会报错)
    '''
    4改 : 集合无法修改元素

    3.数学集合运算

    1 Python中的集合支持数学集合运算
    2并集 |
    3 差集 - 集合1 - 集合2 : 集合1中除了集合2剩下的部分
    4对称差集^ 去掉两个集合公共部分后剩下的部分
    5真子集 >,<
    集合1 > 集合2 - 判断集合2是否是集合1的真子集
    集合1 < 集合2 - 判断集合1是否是集合2的真子集

    相关文章

      网友评论

          本文标题:Python语言基础之——元组和字典

          本文链接:https://www.haomeiwen.com/subject/kskwxktx.html