• Python正课21 —— 基本数据类型


    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12462669.html

    一:作用

    存放键值对(key : value)

    二:定义

    {}内用逗号隔开多个 key : value ,其中value可以是任何类型,但是key必须是不可变类型,且不可重复

    造字典方式1:

    d = {'name':'xxq','age':18,(1,2,3):222,'gender':'male'}		#d = dict(....)
    print(d['name'])
    print(d[(1,2,3)])
    print(type(d))
    
    d = {}		# 默认定义出来的是空字典
    print(d,type(d))
    

    造字典方式2:

    d = dict(x = 1,y = 2,z = 3)
    print(d,type(d))
    

    三:类型转换

    类型转换lowest

    info = [
    	['name','xxq'],
    	['age',18],
    	['gender','male']
    ]
    
    d = {}
    
    for item in info:
    	print(item)
    	d[item[0]]=  item[1]
    print(d)
    
    ['name', 'xxq']
    ['age', 18]
    ['gender', 'male']
    {'name': 'xxq', 'age': 18, 'gender': 'male'}
    

    类型转换low

    info = [
       ['name','xxq'],
       ['age',18],
       ['gender','male']
    ]
    d = {}
    for k,v in info:
       d[k] = v
    print(d)
    
    {'name': 'xxq', 'age': 18, 'gender': 'male'}
    

    类型转换highest

    info = [
       ['name','xxq'],
       ['age',18],
       ['gender','male']
    ]
    d = {}
    res = dict(info)    #一行代码搞定上述for循环的工作
    print(res)
    
    {'name': 'xxq', 'age': 18, 'gender': 'male'}
    

    造字典方式3:

    res = dict(info)    #一行代码搞定上述for循环的工作
    print(res)
    

    造字典方式4:快速初始化一个字典

    keys = ['name','age','gender']
    # d = {}
    #
    # for k in keys:
    #     d[k] = None
    # print(d)
    
    d = {}.fromkeys(keys,None)	#一行代码搞定上述for循环的工作
    

    四:内置方法

    1.按key存取值:可以存 可以取

    d={'k1':111}
    

    针对赋值操作:key存在,则修改

    d['k1']=222
    print(d)
    

    针对赋值操作:key不存在,则创建新值

    d['k2']=3333
    print(d)
    

    2.长度len

    d = {'k1':111,'k2':222,'k1':333,'k1':444}
    print(d)
    print(len(d))
    
    {'k1': 444, 'k2': 222}
    2
    

    3.成员运算 in 与 not in(根据key)

    d = {'k1':111,'k2':222,'k1':333,'k1':444}
    print('k1' in d)
    print(111 in d)
    

    4.删除

    ①通用删除

    d = {'k1':111,'k2':222}
    del d['k1']
    print(d)
    

    ②pop删除:根据key删除元素,返回删除key对应的那个value值

    d = {'k1':111,'k2':222}
    res = d.pop('k1')
    print(res)
    

    ③popitem删除:因为无序,所以随机删除,返回元组(删除的key,删除的value)

    d = {'k1':111,'k2':222}
    res = d.popitem('k1')
    print(d)
    print(res)
    

    5.键keys()、值values()、键值对items() ==>在Python3中得到的是老母鸡

    d={'k1':111,'k2':2222}
    

    在python2中

    >>> d={'k1':111,'k2':2222}
    >>> 
    >>> d.keys()#6、循环
    ['k2', 'k1']
    >>> d.values()
    [2222, 111]
    >>> d.items()
    [('k2', 2222), ('k1', 111)]
    >>> dict(d.items())
    {'k2': 2222, 'k1': 111}
    >>>
    

    6.for循环

    for k in d.keys():
        print(k)
    
    for k in d:
        print(k)
    
    for v in d.values():
        print(v)
    
    for k,v in d.items():
        print(k,v)
    
    print(list(d.keys()))
    print(list(d.values()))
    print(list(d.items()))
    

    五:需要掌握的内置方法

    1. d.clear()

    可以清空列表内的所有内容,使其变成一个空列表

    d={'k1':111}
    d.clear()
    print(d)
    
    {}
    

    2. d.update()

    更新列表,可以添加列表没有的内容,可以替换已有的内容的值

    d={'k1':111}
    d.update({'k2':222,'k3':333,'k1':111111111111111})
    print(d)
    

    3. d.get()

    根据key取值,容错性好

    d={'k1':111}
    print(d['k2'])  # key不存在则报错
    
    print(d.get('k1')) # 111
    print(d.get('k2')) # key不存在不报错,返回None
    

    4. d.setdefault()

    info={}
    if 'name' in info:
        ... # 等同于pass
    else:
        info['name']='egon'
    print(info)
    

    如果key有则不添加,返回字典中key对应的值

    info={'name':'egon'}
    res=info.setdefault('name','egon')
    print(info)
    print(res)
    
    {'name': 'egon'}
    egon
    

    如果key没有则添加,返回字典中key对应的值

    info={}
    res=info.setdefault('name','egon')
    print(info)
    print(res)
    
    {'name': 'egon'}
    egon
    
  • 相关阅读:
    Linux cat命令详解
    Linux终端中文显示乱码
    Linux命令对应的英文全称【转载】
    Linux常用命令学习
    链接Linux工具(SecureCRT)
    Linux下四款常见远程工具比较
    怎么让mysql的id从0开始
    substr 字符串截取
    C#学习笔记(三)——流程控制
    C#学习笔记(二)——变量和表达式
  • 原文地址:https://www.cnblogs.com/xuexianqi/p/12462669.html
Copyright © 2020-2023  润新知