#!/usr/bin/python3
#-*- ecoding: utf-8 -*-
d = {'name':'Runoob','age':7,'Class':'First'} #定义字典
print("d['name']:",d['name']) #访问字典
print("d['age']:",d['age']) #访问字典
d['age'] = 8 #修改字典
d['school'] = "广大" #添加字典
print("d['age']:",d['age'])
print("d['school']:",d['school'])
print(d)
del d['school'] #删除字典中的一个元素
print(d)
#d.clear() #清空字典 #删除字典 del d
#print(d)
print(len(d))
print(str(d))
print(type(d))
key = [1,2,3]
d1 = d.copy()
print(d)
d2 = d.fromkeys(key,(1,2,3))
print(d2)
print(d.get('name'))
print(d.get('school'))
if "name" in d:
print("key:name in d")
for key,value in d.items():
print(key,value)
for key in d.keys():
print(key)
d.setdefault("school","广大")
print(d.get("school"))
d3 = {"a":"a","b":"b"}
d.update(d3)
print(d)
for value in d.values():
print(value)
print(d.pop("school"))
print(d)
print(d.popitem())
#print(value)
#print(d)
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
函数:
len() --- 返回字典的元素个数
str() --- 把字典转换成字符串
type() -- 判断类型
方法:
dict.clear() --- 清空字典
dict.copy() -- 返回字典的浅复制,没有对应方法
dict.fromkeys() -- 返回一个新字典,传入参数是key的列表,第二个参数默认为None
dict.items() -- 返回keys和values
dict.values() -- 返回values
dict.keys() --- 返回keys
dict.update() --- 可以在末尾添加其他字典的元素
dict.setdefault() --- 查找特定key的值,如果没有则创建该key并导出default的值
dict.get() --- 查找特定key的值,如果没有返回default的值
dict.pop() -- 删除特定key的值
dict.popitem() --- 随机删除key-value
key in d --- key是否在字典中