python系列七:Python3字典dict

#!/usr/bin/python

#Python3 字典
#字典是支持无限极嵌套的
citys={
    '北京':{
        '朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
        '海淀':['圆明园','苏州街','中关村','北京大学'],
        '昌平':['沙河','南口','小汤山',],
        '怀柔':['桃花','梅花','大山'],
        '密云':['密云A','密云B','密云C']
    },
    '河北':{
        '石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
        '张家口':['张家口A','张家口B','张家口C'],
        '承德':['承德A','承德B','承德C','承德D']
    }
}

for i in citys['北京']:
    print(i)
    
'''
输出结果为:
朝阳
海淀
昌平
怀柔
密云
'''

for i in citys["北京"]["海淀"]:
    print(i)
'''
输出结果为:
圆明园
苏州街
中关村
北京大学
'''

'''
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
'''

#字典的键值都是"只读"的,所以不能对键和值分别进行初始化
dic = {}
#dic.keys = (1,2,3,4,5,6)
'''
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object attribute 'keys' is read-only
'''
#dic.values = ("a","b","c","d","e","f")
'''
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object attribute 'values' is read-only
'''

'''
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中.
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
'''

dict1= { 'abc': 123, 98.6: 37 };
print(type(dict1))
print(dict1[98.6])

#如果用字典里没有的键访问数据,会输出错误

#向字典添加新内容的方法是增加新的键/值对
dict1["name"] = "hejing"
print(dict1)

#能删单一的元素也能清空字典,清空只需一项操作。删除一个字典用del命令
del dict1["abc"]   # 删除键 'abc'
dict1.clear()      # 清空字典
print("清空字典后字典为", end = ":")
print(dict1)
del dict1          # 删除字典
print("删除字典后字典为:")
#print(dict1)
#NameError: name 'dict1' is not defined

原文地址:https://www.cnblogs.com/hejing-swust/p/8215072.html