注意:字典使用两个大括号来组成:{ }
# -*- coding:UTF-8 -*-
import numpy as np
def read_dict():
# 创建和使用字典
#(1)
names = ['alice', 'beth', 'cecil', 'dee', 'earl']
numbers = ['2341', '7327', '2323', '3157', '5551']
d = {}
for i in range(len(names)):
d.setdefault(names[i], numbers[i]) # setdafault() 添加键值到字典中
print d
#(2)
items = [('name', 'gumby'), ('age', 42)]
d = dict(items)
print d
#(3)
phone = {'alice': '2341', 'beth': '2737'}
print phone
# 列表索引位置
x = [None] * 4 # 创建空列表来进行赋值
x[1] = 'hduew'
print x
# 字典索引位置
y = {}
y[1] = 'dhue'
y['age'] = 42
y['name'] = 'alice'
print y
print y.clear() # clear函数,清除字典里面的所有的项
print y
# 多值键值对
z = {'username': 'admin', 'machine': ['foo', 'bar']}
print 'z=', z # 返回整个字典
# print "z['machine']=", z['machine'] # 返回字典的所有值
# print "z['machine'][0]=", z['machine'][0] # 返回字典的第一个值
# copy函数:"浅复制"
print 'copy:'
zc = z.copy()
print 'zc=', zc
# 修改"原字典"键值
print 'change old dict:'
z['username'] = 'kevinelstri'
print 'z=', z
print 'zc=', zc
# 修改"新字典"键值
print 'change new dict:'
zc['username'] = 'kevin'
print 'zc=', zc
print 'z=', z
# 字典'浅复制'之后,对于新旧字典是单独存在
# 字典“深复制”,采用 from copy import deepcopy
# 在原文件时,复制后的文件也会发生改变
print
# fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None
kdict = {}
print kdict.fromkeys(['name', 'age']) # {'age': None, 'name': None}
print kdict.fromkeys(['name'], (42)) # {'name': 42}
# get() 返回指定键的值,如果值不在字典中,返回default值
# has_key() 如果键在字典中,返回true,否则返回false
# items() 以列表返回可遍历的(键值)元组数组
# keys() 以列表返回一个字典所有的键
# setdafault() 添加键值到字典中
# update() 把字典的键值对更新到dict里
# values() 以列表返回字典中的所有值
# cmp(dict1,dict2) 比较两个字典元素
# len(dict) 计算字典元素个数,即键的总数
# str(dict) 输出字典可打印的字符串表示
# type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型
if __name__ == "__main__":
read_dict()
Output:
{'dee': '3157', 'earl': '5551', 'beth': '7327', 'alice': '2341', 'cecil': '2323'}
{'age': 42, 'name': 'gumby'}
{'beth': '2737', 'alice': '2341'}
[None, 'hduew', None, None]
{1: 'dhue', 'age': 42, 'name': 'alice'}
None
{}
z= {'username': 'admin', 'machine': ['foo', 'bar']}
copy:
zc= {'username': 'admin', 'machine': ['foo', 'bar']}
change old dict:
z= {'username': 'kevinelstri', 'machine': ['foo', 'bar']}
zc= {'username': 'admin', 'machine': ['foo', 'bar']}
change new dict:
zc= {'username': 'kevin', 'machine': ['foo', 'bar']}
z= {'username': 'kevinelstri', 'machine': ['foo', 'bar']}
{'age': None, 'name': None}
{'name': 42}