美文网首页
博学谷第五天

博学谷第五天

作者: namufari | 来源:发表于2019-12-31 20:06 被阅读0次

    时间:2019年12月30日
    内容:字典、集合、公共操作

    字典

    字典简介

    特点:

    • 符号为 大括号
    • 数据为 键值对 形式出现
    • 各个键值对之间用 逗号 隔开
    # 有数据字典
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    
    # 空字典
    dict2 = {}
    
    dict3 = dict()
    

    注意:一般称冒号前面为键(key),简称k;冒号后面为值(value),简称v。

    字典常见操作

    写法:字典序列[key] = 值

    注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    
    dict1['name'] = 'Rose'
    # 结果:{'name': 'Rose', 'age': 20, 'gender': '男'}
    print(dict1)
    
    dict1['id'] = 110
    
    # {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
    print(dict1)
    

    字典为可变类型

    • del() / del:删除字典或删除字典中指定键值对。
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    
    del dict1['gender']
    # 结果:{'name': 'Tom', 'age': 20}
    print(dict1)
    
    • clear():清空字典
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    
    dict1.clear()
    print(dict1)  # {}
    

    写法:==字典序列[key] = 值==

    注意:如果key存在则修改这个key对应的值 ;如果key不存在则新增此键值对。

    key值查找
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    print(dict1['name'])  # Tom
    print(dict1['id'])  # 报错
    

    如果当前查找的key存在,则返回对应的值;否则则报错。

    get()
    • 语法
    字典序列.get(key, 默认值)
    

    注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

    keys()
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    print(dict1.keys())  # dict_keys(['name', 'age', 'gender'])
    
    values()
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    print(dict1.values())  # dict_values(['Tom', 20, '男'])
    
    items()
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    print(dict1.items())  # dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
    

    字典的循环遍历

    遍历字典的key
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    for key in dict1.keys():
        print(key)
    
    image-20190212103905553.png
    遍历字典的value
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    for value in dict1.values():
        print(value)
    
    image-20190212103957777.png
    遍历字典的元素
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    for item in dict1.items():
        print(item)
    
    image-20190212104046564.png
    遍历字典的键值对
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    for key, value in dict1.items():
        print(f'{key} = {value}')
    
    image-20190212104223143.png

    集合

    集合简介

    创建集合
    创建集合使用{}set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。

    s1 = {10, 20, 30, 40, 50}
    print(s1)
    
    s2 = {10, 30, 20, 10, 30, 40, 30, 50}
    print(s2)
    
    s3 = set('abcdefg')
    print(s3)
    
    s4 = set()
    print(type(s4))  # set
    
    s5 = {}
    print(type(s5))  # dict
    
    image-20190318104620690.png

    集合常见操作方法

    增加数据
    • add()
    s1 = {10, 20}
    s1.add(100)
    s1.add(10)
    print(s1)  # {100, 10, 20}
    

    因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

    • update(), 追加的数据是序列。
    s1 = {10, 20}
    # s1.update(100)  # 报错
    s1.update([100, 200])
    s1.update('abc')
    print(s1)
    
    image-20190318121424514.png
    删除数据
    • remove(),删除集合中的指定数据,如果数据不存在则报错。
    s1 = {10, 20}
    
    s1.remove(10)
    print(s1)
    
    s1.remove(10)  # 报错
    print(s1)
    
    • discard(),删除集合中的指定数据,如果数据不存在也不会报错。
    s1 = {10, 20}
    
    s1.discard(10)
    print(s1)
    
    s1.discard(10)
    print(s1)
    
    • pop(),随机删除集合中的某个数据,并返回这个数据。
    s1 = {10, 20, 30, 40, 50}
    
    del_num = s1.pop()
    print(del_num)
    print(s1)
    
    查找数据
    • in:判断数据在集合序列
    • not in:判断数据不在集合序列
    s1 = {10, 20, 30, 40, 50}
    
    print(10 in s1)
    print(10 not in s1)
    

    公共操作

    运算符

    image.png

    +

    # 1. 字符串 
    str1 = 'aa'
    str2 = 'bb'
    str3 = str1 + str2
    print(str3)  # aabb
    
    
    # 2. 列表 
    list1 = [1, 2]
    list2 = [10, 20]
    list3 = list1 + list2
    print(list3)  # [1, 2, 10, 20]
    
    # 3. 元组 
    t1 = (1, 2)
    t2 = (10, 20)
    t3 = t1 + t2
    print(t3)  # (10, 20, 100, 200)
    

    *

    # 1. 字符串
    print('-' * 10)  # ----------
    
    # 2. 列表
    list1 = ['hello']
    print(list1 * 4)  # ['hello', 'hello', 'hello', 'hello']
    
    # 3. 元组
    t1 = ('world',)
    print(t1 * 4)  # ('world', 'world', 'world', 'world')
    

    in 或 not in

    # 1. 字符串
    print('a' in 'abcd')  # True
    print('a' not in 'abcd')  # False
    
    # 2. 列表
    list1 = ['a', 'b', 'c', 'd']
    print('a' in list1)  # True
    print('a' not in list1)  # False
    
    # 3. 元组
    t1 = ('a', 'b', 'c', 'd')
    print('aa' in t1)  # False
    print('aa' not in t1)  # True
    

    公共方法

    image.png
    len()
    # 1. 字符串
    str1 = 'abcdefg'
    print(len(str1))  # 7
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(len(list1))  # 4
    
    # 3. 元组
    t1 = (10, 20, 30, 40, 50)
    print(len(t1))  # 5
    
    # 4. 集合
    s1 = {10, 20, 30}
    print(len(s1))  # 3
    
    # 5. 字典
    dict1 = {'name': 'Rose', 'age': 18}
    print(len(dict1))  # 2
    
    del()
    # 1. 字符串
    str1 = 'abcdefg'
    del str1
    print(str1)
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    del(list1[0])
    print(list1)  # [20, 30, 40]
    
    max()
    # 1. 字符串
    str1 = 'abcdefg'
    print(max(str1))  # g
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(max(list1))  # 40
    
    min()
    # 1. 字符串
    str1 = 'abcdefg'
    print(min(str1))  # a
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(min(list1))  # 10
    
    range()
    # 1 2 3 4 5 6 7 8 9
    for i in range(1, 10, 1):
        print(i)
    
    # 1 3 5 7 9
    for i in range(1, 10, 2):
        print(i)
    
    # 0 1 2 3 4 5 6 7 8 9
    for i in range(10):
        print(i)
    

    注意:range()生成的序列不包含end数字。
    如果不写开始,默认从0开始。

    enumerate()
    • 语法
      `enumerate(可遍历对象, start=0)

    注意:start参数用来设置遍历数据的下标的起始值,默认为0。

    • 演练
    list1 = ['a', 'b', 'c', 'd', 'e']
    
    for i in enumerate(list1):
        print(i)
    
    for index, char in enumerate(list1, start=1):
        print(f'下标是{index}, 对应的字符是{char}')
    
    image-20190213115919040.png

    容器类型转换

    tuple()

    作用:将某个序列转换成元组

    list1 = [10, 20, 30, 40, 50, 20]
    s1 = {100, 200, 300, 400, 500}
    
    print(tuple(list1))
    print(tuple(s1))
    
    list()

    作用:将某个序列转换成列表

    t1 = ('a', 'b', 'c', 'd', 'e')
    s1 = {100, 200, 300, 400, 500}
    
    print(list(t1))
    print(list(s1))
    
    set()

    作用:将某个序列转换成集合

    list1 = [10, 20, 30, 40, 50, 20]
    t1 = ('a', 'b', 'c', 'd', 'e')
    
    print(set(list1))
    print(set(t1))
    

    注意:
    1. 集合可以快速完成列表去重
    2. 集合不支持下标

    相关文章

      网友评论

          本文标题:博学谷第五天

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