美文网首页
April 24th_day08_tuple/dict/set

April 24th_day08_tuple/dict/set

作者: 3ae1c50960af | 来源:发表于2019-04-24 19:55 被阅读0次

    record

    1.列表(list)

    容器型数据类型(序列),可变、有序

    2.元素

    任何类型的数据都可以作为列表元素

    3.元素的增删改查(*)

    3.1.查

    查单个元素:列表[下标]
    查部分元素[切片]:列表[开始下标:结束下标:步长],列表[:],列表[::-1]
    遍历:直接遍历、遍历下标

    3.2.增

    列表.append(元素)、列表.insert(下标,元素)

    3.3.删

    del 列表[下标]
    列表.remove(元素)
    列表.pop() 列表.pop(下标)

    3.4.改

    列表[下标] = 新值

    4.+,*,==,!=,in/not in,len(),list()

    5.列表常用方法

    5.1.count

    列表.count(元素) - 统计列表中指定元素的个数,返回一个整数

    5.2.extend

    列表.extend(序列) - 将序列中的元素全部添加到列表中

    nums = [1, 2, 3, 4, 5]
    nums.extend('abc')
    print(nums)
    nums.extend([1,2,3])
    print(nums)
    

    5.3.index

    列表.index(元素) - 获取指定元素对应的下标(如果元素有多个,只取第一个)
    注意:如果元素不存在会报错!

    5.4.reverse

    列表.reverse() - 反向列表(直接修改原列表)
    reversed(序列) - 反向序列(不修改原序列,产生新的序列对应的迭代器

    str1 = 'hello'
    new_str = reversed(str1)
    print(str1, ''.jion(list(new_str)))
    

    字符串.join(序列)

    5.5.sort

    列表.sort() - 将列表中的元素升序排序(从小到大)
    列表.sort(reverse = True) - 将列表中的元素降序排序(从大到小)
    sorted(序列) - 排序的时候不修改原序列,产生新的序列
    注意:能够进行排序的列表要求列表中的元素类型一致,并且支持比较运算

    # sort
    nums = [100,60,34,101]
    nums.sort(reverse = True)
    print(nums)
    # sorted
    nums = [100,60,34,101]
    new_nums = sorted(nums)
    
    print(nums)  # [100,60,34,101]
    print(new_nums)  # [34,60,100,101]
    new_nums = sorted(nums, reverse = True)
    print(new_nums)  # [101,100,60,34]
    
    str2 = 'helloworld'
    new_str = sorted(str2)
    print(new_str)
    print(''.join(new_str))
    

    5.6.clear

    列表.clear() - 删除列表中所有的元素(清空列表)

    nums = [100,60,34,101]
    print(id(nums))
    nums.clear()
    print(nums,id(nums))
    nums = []
    print(nums,id(nums))
    

    5.7.copy

    列表.copy() - 相当于列表[:],将列表中的元素拷贝一份产生一个新的列表(浅拷贝)

    tuple(元祖)

    1.什么是元祖(tuple)

    元祖是python提供的容器型数据类型(序列),不可变,有序
    元祖就是不可变的列表,一般保存一些不让修改的数据
    (元素1,元素2,元素3……)

    2.元素

    2.1.空的元祖

    没什么意义

    2.2.元素个数是1的元祖:如果一个元祖中只有一个元素,这个元素后面必须加逗号!

    tuple2 = (10,)  # (10,)
    

    2.3.元祖数据中的()可以省略(多个数据用逗号隔开,也表示元祖)

    tuple2 = 1, 2, 3, 4, 5
    print(tuple2,type(tuple2))  # (1, 2, 3, 4, 5) <class 'tuple'>
    

    3.获取元素:和列表一样

    3.1.让变量的个数和元祖中元素的个数保持一致,来一一获取元祖中每个元素的值

    point = (100, 50)
    x, y = point
    print('x:', x, 'y:', y)  # x: 100 y: 50
    

    3.2.让多个变量同事获取元祖中的元素的时候,可以在一个变量前加*将这个变量变成一个列表,来获取不带*的变量获取后剩下的数据。

    注意:带*的变量只能有一个

    student = ('小明', 18, 99, 88, 77, 66)
    name, age, *scores = student
    print(name, age, scores)
    """
    小明 18 [99, 88, 77, 66]
    """
    

    dict(字典)

    1.什么是字典(dict)

    字典是python提供的容器型数据类型(序列),可变,无序
    {键值对1, 键值对2, 键值对3, ……} - 字典的元素就是键值对
    键值对 - 以'键:值'的形式成对出现
    键(key) - 要求不可变,唯一(建议使用字符串作为key,用来对值进行说明和区分的)
    值(value) - 任何类型的数据都可以作为值

    2.元素的操作

    2.1.查 - 获取值

    字典[key] - 获取字典中key对应的值(value)(如果key不存在会报错!)
    字典.get(key) - 获取字典中key对应的value(如果key不存在不报错,结果是None)
    字典.get(key, 默认值) - 获取字典中key对应的value(如果key不存在不报错,结果是默认值)

    2.1.1.遍历字典

    直接通过for循环遍历字典的时候,获取到的是所有的key
    1.直接遍历(只用这个)
    2.间接遍历
    values()、items()

    2.2.增/改

    字典[key] = value - 如果key存在,修改key对应的值;如果key不存在,添加键值对

    2.3.删

    1.del 字典[key] - 删除字典中指定key对应的键值对。如果key不存在会报错
    2.字典.pop(key) - 取出字典中key对应的值。如果key不存在会报错

    2.4.字典相关操作

    2.4.1.运算符:不支持数学运算,比较运算符只支持比较相等、不支持比较大小

    2.4.2.in / not in

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

    2.4.3.len

    一个键值对算一个长度

    2.4.4.dict

    能转换成字典的数据要求:数据本身是序列,序列中的每个元素也是长度是2的序列,并且小序列中的第一个元素是不可变的

    2.5.相关方法

    1.clear
    字典.clear() - 清空字典
    2.copy
    字典.copy() - 拷贝字典中的键值对产生一个新的字典
    3.fromkeys
    dict.fromkeys(序列, 值) - 创建一个新的字典,字典的key是序列的元素,key对应的value是值
    4.keys, values, items
    字典.key() - 获取字典中所有的key,结果一个序列
    字典.values() - 获取字典中所有的value,结果是一个序列
    字典.items() - 获取字典中的key和value,key和value以元祖的形式返回
    5.setdefault
    字典.setdefault(key,value) - 添加键值对(不能修改)
    6.update
    字典1.update(字典2) - 使用字典2中的键值对取更新字典

    set(集合)

    1.什么是集合(set)

    容器型数据类型(序列),可变、无序

    2.集合中的元素

    {元素1, 元素2, 元素3, ……}
    元素:不可变、唯一(自带去重功能)
    注意:{}不能表示空的集合,set() - 空集合
    集合可以去重

    str1 = 'hedkahendgaksngessssded'
    print(''.join(set(str1)))
    
    list1 = [1,23,4,34,32,23,1]
    print(list(set(list1)))
    

    3.元素相关操作

    3.1.查

    集合不能单独获取制定的某一个元素,只支持遍历

    3.2.增

    集合.add() - 往集合中添加一个元素
    集合.update(序列) - 将序列中的元素添加到集合中(自带去重)

    3.3.删

    集合.remove(元素) - 删除集合中指定的元素
    注意:元素不存在会报错

    3.4.数学集合运算(*)

    3.4.1.并集:|

    集合1|集合2 - 将两个集合中的元素合并产生新的集合

    set1 = {1,2,3,4,5,6}
    set2 = {4,5,6,7,8,9}
    print(set1|set2)
    

    3.4.2.交集:&

    集合1&集合2 - 求两个集合公共的部分

    set1 = {1,2,3,4,5,6}
    set2 = {4,5,6,7,8,9}
    print(set1&set2)
    

    3.4.3.差集:-

    集合1-集合2 - 获取集合1中除了集合2以外的部分

    set1 = {1,2,3,4,5,6}
    set2 = {4,5,6,7,8,9}
    print(set1-set2)
    print(set2-set1)
    

    3.4.4.补集: ^

    集合1^集合2 - 两个集合中除了公共部分以外的部分

    set1 = {1,2,3,4,5,6}
    set2 = {4,5,6,7,8,9}
    print(set1^set2)
    

    3.4.5.包含关系

    集合1>=集合2 - 集合1中是否包含集合2
    集合1<=集合2 - 集合2中是否包含集合1

    相关文章

      网友评论

          本文标题:April 24th_day08_tuple/dict/set

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