字典
字典
# 作用:能存放多个元素,每个元素由key:value组成,key对value有描述性,,key正常情况下是字符串 # key只能由不可变数据类型,value可以为任意类型 # 定义: # d = {'name':'alex','age':'73','hobby':'rap'} # 第一种定义方式 # d1 = dict(name = 'alex',age = 84) # print(d1) # {'name': 'alex', 'age': 84} # 上面两种定义方式需要掌握 # 这个定义方式了解即可 # l = [ # ['name','jason'], # ['age',18], # ['hobby','read'] # ] # d = {} # for i in l: # d[i[0]] = i[1] # print(d) # {'name': 'jason', 'age': 18, 'hobby': 'read'} # for k,v in l: # d[k] = v # print(d) # {'name': 'jason', 'age': 18, 'hobby': 'read'} # d1 = dict(l) # print(d1) #内部for循环 # 优先掌握的操作 # 1.按key存取值:可存可取 # dic = {'name':'alex','age':84} # dic['name'] = 'egon' # print(dic) # {'name': 'egon', 'age': 84} # dic['hobby'] = 'rap' # print(dic) # {'name': 'alex', 'age': 84, 'hobby': 'rap'} # 在key不存在的时候,会新增一个键值对 # dic['name'] = 'egon' # dic['name'] = 'jason' # dic['name'] = 'tom' # print(dic) # {'name': 'tom', 'age': 84} ''' 强调:字典的key是不能重复的 要唯一标识一条数据 如果重复了 只会按照最后一组重复的键值对存储 ''' # 2、长度len # 统计键值对个数 # 3、成员运算in和not in 对于字典来说只能判断key值 # dic = {'name':'alex','age':84} # print('name' in dic) # True # 4、删除 # 删除共有三种操作方式del pop clear # dic = {'name':'alex','age':84} # del dic # print(dic) # 直接报错,这里的dic已经被清除 # del dic['name'] # print(dic) # 会将name作为key的键值对删除 # res = dic.pop('name') # print(res) # 这里 如果要弹出不存在的key是 会直接报错 # dic.clear() # print(dic) # 5、键keys(),值values(),键值对items() # dic = {'name':'alex','age':84} # print(dic.keys()) # dict_keys(['name', 'age']) # print(dic.values()) # dict_values(['alex', 84]) # 这里python3和python2不一样,在2中会直接以列表形式输出,这样会很占内存, # 在3中会以老母猪形式输出,就是你想要里面的值时,给你从中间找出 # print(dic.items()) # dict_items([('name', 'alex'), ('age', 84)]) # 这里直接输出键值对,而且每个键值对在列表中用元组形式存储 # 使用get(key)来获取value # dic = {'name':'alex','age':84} # print(dic.get('name')) # 这种用法类似于dic['name'],但是如果括号中是不存在的key时,会新增一个键值对,但是get就不会 # print(dic.get('hobby')) # get 会返回一个None,我们可以定义key不存在时返回什么 # print(dic.get('hobby','没有这个key')) # 在这里就会返回没有这个key # dict.fromkeys快速创建一个字典,列表中都为key # l = ['name','age','hobby'] # 这里并不是只能列表,只要是容器类型都行 # print(dict.fromkeys(l,84)) # {'name': 84, 'age': 84, 'hobby': 84} # dict.popitem() 尾部以元组的形式弹出键值对 # dic = {'name': 'alex', 'age': 84} # res = dic.popitem() # print(res) # 具有返回值 # dict.setdefault() # dic = {'name': 'alex', 'age': 84} # dic.setdefault('name','egon') # res = dic.setdefault('name','egon') # print(dic,res) # 当key存在时不改变value,并且将key对应的值返还给你 # dic.setdefault('hobby','rap') # res2 = dic.setdefault('hobby','rap') # print(dic,res2) # 当key不存在时,新增键值对,并且将新增的value返还给你 # dict.update() # dic = {'name': 'alex', 'age': 84} # d = {'hobby':'rap'} # dic.update(d) # print(dic) # {'name': 'alex', 'age': 84, 'hobby': 'rap'}可以进行添加 # dic.update(name='egon') # print(dic) # {'name': 'egon', 'age': 84}可以直接进行修改 # dic.update(hobby = 'rap') # print(dic) # 也可以像这样直接添加 # 循环 # dic = {'name': 'alex', 'age': 84} # for i in dic: # print(i) # ------------------------------------------------字典总结------------------------------------------------ ''' 可变 可以存放多个值 无序 '''