Python学习笔记四:字典应用

字典是一种可变容器模型,且可存储任意类型对象,键值对之间是无序的。

字典的每个键(Key)与值(Value)用冒号( )分割;

每个键值对之间用逗号( )分割;

整个字典包括在花括号( { } )中。

键必须是唯一的,但值则不必,就像我们的脚是唯一的,鞋子却是可以被替换。

dic = {'a':1,'b':2}
# 最简单直接的方式,手动书写申明一个字典变量
 
dic = dict(m = 10 ,n = 'aa', h = [1,2,3])
print(dic)
# 使用dict()函数,通过键值对赋值产生
 
lst1=[("a","fff"),("b","ggg")]
lst2=(("e",[1,2]),("f",[3,4]))
dic1 = dict(lst1)
dic2 = dict(lst2)
print(dic1,dic2)
# dict()由序列生成一个字典,嵌套序列,可以是list或者tuple
 
keys = ["a", "b", "c"]
dic1 = dict.fromkeys(keys)
dic2 = dict.fromkeys(keys, 'hello')
print(dic1,dic2)
# 只有key,直接生成一个字典
 
Output
{'m': 10, 'n': 'aa', 'h': [1, 2, 3]}
{'a': 'fff', 'b': 'ggg'} {'e': [1, 2], 'f': [3, 4]}
{'a': None, 'b': None, 'c': None} {'a': 'hello', 'b': 'hello', 'c': 'hello'}
dic = {'a':1,'b':2,'c':3}
print(dic)
# 键值对,一定共同出现,不能只有一个
# key必须是字符串,value则可以是任意对象:数值,字符串,序列,字典
 
dic['d'] = 'D'  # 任意添加元素,前提是当前字典中没有键'd'
dic['a'] = 2  # 任意修改元素,若检测到字典中已存在键'a',将会替换键对应的值
del dic['b']  # 任意删除元素
print(dic)
 
dic.clear()  # 清空词典所有条目
print(dic)
 
del dic  # 删除词典
#print(dic)  
 
Output
{'a':1,'b':2,'c':3}
{'a':2,'c':3,'d':'D'}
{}
dic1 = {"a":1}
dic2 = {"d":4}
dic1.update(dic2)
print(dic1,dic2)
# dict.update()方法:更新/合并一个字典,把第二个字典合并到第一个字典,改变了第一个字典
 
a = {'m':1 , 'n':2 , 'p':3}
b = a
c = a.copy()
a.update({'q':4})
print(a,b,c)
# 和序列的原理一样,a和b指向同一个字典,所以会一起更新
# 通过.copy()方法,复制一个新的字典;注意与b = a的却别
 
print(len(a))
# 查看字典元素个数
 
print('m' in a)
print(1 in a)
# in / not in :判断是否包含,这里的判断对象是key
 
Output
 
{'d': 4, 'a': 1} {'d': 4}
{'m': 1, 'n': 2, 'p': 3, 'q': 4} {'m': 1, 'n': 2, 'p': 3, 'q': 4} {'m': 1, 'n': 2, 'p': 3}
4 True False

dic = {'a':1, "b":2, "c":3}
print(dic['b'])
# 字典没有顺序,以key来作为指向,所以指向的key必须存在
poi = {'name':'shop', 'city':'shanghai', 'information':{'address':'somewhere', 'num':66663333}}
print(poi['information']['address'])
# 对于嵌套字典,输出嵌套内容,通过重复指向来输出
print(poi.get('name'))
# .get(key)方法:直接查看key的value,如果没有相应key则返回None,添加print参数可以多返回一个值
print(list(poi.keys()))
# .keys()方法:输出字典所有key,注意这里的输出内容格式是视图,可以用list()得到key的列表,类似range()
print(list(poi.values()))
# .values()方法:输出字典所有values,原理同.keys()方法
print(list(poi.items()))
# .items()方法:输出字典所有items(元素),原理同.keys()方法
 
Output
2
somewhere
shop
['name', 'city', 'information']
['shop', 'shanghai', {'address': 'somewhere', 'num': 66663333}]
[('name', 'shop'), ('city', 'shanghai'), ('information', {'address': 'somewhere', 'num': 66663333})]
poi = {'name':'shop', 'city':'shanghai', 'information':{'address':'somewhere', 'num':66663333}}
for key in poi.keys():
print(poi[key])
for (k,v) in poi.items():
print('key为 %s, value为 %s' %(k,v))
 
Output
shop
shanghai
{'address': 'somewhere', 'num': 66663333}
key为 name, value为 shop
key为 city, value为 shanghai
key为 information, value为 {'address': 'somewhere', 'num': 66663333}
标签:   |  
时间: 2018年04月22日下午18:58  |  
作者:
1 COMMENTS
  1. 2018/09/25
    cess

    哇,非常棒,继续学习

LEAVE A REPLY

loading