• Python 字典与切片(代码片段)


    一、字典访问

    dict = {"age":18,"weight":65} print(dict.get("age"))
    print(dict.get("height")) # 由于字典dict中没有height这个键,返回的是默认值None。
    print(dict.get("height",0)) # 将默认值改为0,输出结果为0

    和dict[key]的区别:

    dict.get(key)和dict[key]在key值存在的情况下,都能得到对应的键值。但是当使用dict[key]时,key必须要存在,否则会报错。但是dict.get[key]中的key可以不存在,因为get方法有一个默认的参数None,当key不存在的时候,返回None。

    dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1}
    #通过list将字典中的keys和values转化为列表
    keys = list(dic.keys())
    values = list(dic.values())

     

    d = {'x': 1, 'y': 2, 'z': 3}
    for the_key, the_value in d.items():
        print(the_key, 'corresponds to', the_value)

    x corresponds to 1
    y corresponds to 2
    z corresponds to 3

    for i, (key, value) in enumerate(d.items(),start=100):
        print(i, key, value)

    100 x 1
    101 y 2
    102 z 3 

    for key in d:
        print(key)

    x
    y
    z

    print(list(d))
    print(list(d.values()))
    print(list(d.items()))

    ['x', 'y', 'z']
    [1, 2, 3]
    [('x', 1), ('y', 2), ('z', 3)]

    二、字符串切片

        str = 'abcd123'
        print(str[:-2])  # 去掉后面2个字符
        print(str[1:-2])  # 从第2个截取,去掉后面2个字符
        print(str[0])  # 输出字符串第一个字符
        print(str[2:5])  # 输出从第三个开始,取3个字符
        print(str[2:])  # 输出从第三个开始的后的所有字符
        print(str * 2)  # 输出字符串两次

    结果:

    abcd1
    bcd1
    a
    cd1
    cd123
    abcd123abcd123

    三、生成字典的三种方法

    # 方法1
    dic1 = { 'Author' : 'Python当打之年' , 'age' : 99 , 'sex' : '' }
    
    # 方法2
    lst = [('Author', 'Python当打之年'), ('age', 99), ('sex', '')]
    dic2 = dict(lst)
    
    # 方法3
    dic3 = dict( Author = 'Python当打之年', age = 99, sex = '')
    
    # 方法4
    list1 = ['Author', 'age', 'sex']
    list2 = ['Python当打之年', 99, '']
    dic4 = dict(zip(list1, list2))

    字典清空

    dic1.clear()
    # dic1 = {} 
    不管以前有什么数,clear后变空

    从list创建dict

    dict.fromkeys() 使用给定的多个键创建一个新字典,值默认都是 None,也可以传入一个参数作为默认的值。
    
    list1 = ['Author', 'age', 'sex']
    dic1 = dict.fromkeys(list1)
    dic2 = dict.fromkeys(list1, 'Python当打之年')
    
    # dic1 = {'Author': None, 'age': None, 'sex': None}
    # dic2 = {'Author': 'Python当打之年', 'age': 'Python当打之年', 'sex': 'Python当打之

    get()取值,可以设默认值

    list1 = ['Author', 'age', 'sex']
    list2 = ['Python当打之年', [18,99], '']
    dic1 = dict(zip(list1, list2))
    
    Author = dic1.get('Author')
    # Author = Python当打之年
    phone = dic1.get('phone')
    # phone = None
    phone = dic1.get('phone','12345678')
    # phone = 12345678

    dict.update(dict1)  将字典dict1的键-值对更新到dict里,包含对应的键-值对,那么原键-值对会被覆盖,被更新的字典中不包含对应的键-值对,则添加该键-值对。

    dic1 = {'Author': 'Python当打之年'}
    dic2 = {'Author': '当打之年', 'phone': 12345678}

    dic1.update(dic2)
    print('dic1 = ',dic1)
    # dic1 = {'Author': '当打之年', 'phone': 12345678}

     

  • 相关阅读:
    (9)ASP.NET Core2.2 中的MVC路由二
    (8)ASP.NET Core2.2 中的MVC路由一
    (7)ASP.NET Core2.2 中的错误处理
    (6)ASP.NET Core2.2 中使用IHttpClientFactory发出HTTP请求
    (5)ASP.NET Core2.2 中的静态文件
    (4)ASP.NET Core2.2 中间件
    蒲公英 · JELLY技术周刊 Vol.05: Rust & Electron 的高性能实践 -- Finda
    Taro 2.2 全面插件化,支持拓展和定制个性化功能
    使用 Taro 快速开发京东小程序
    技术周刊 · 0202 年了,你还不学一下 WASM 么?
  • 原文地址:https://www.cnblogs.com/lxgbky/p/12579548.html
Copyright © 2020-2023  润新知