本章是依据名字对数组项进行引用
4.2创建和使用字典
x={"a":"1","b":"2"} #大括号{}表示字典,逗号,分隔,冒号:表示
print x
4.2.1dict函数
x=[("a","b"),("1","2")]
d=dict(x) #序列字典化
print d
d=dict(a="1",b="2")
print d
输出结果
{'a': 'b', '1': '2'}
{'a': '1', 'b': '2'}
Press any key to continue . . .
4.2.2基本字典操作
与序列类似:
len(x)
del x[]
k in x
4.2.3字典的格式化字符串
x={'a': '1', 'b': '2'}
print "a is %(a)s."%x
输出结果
a is 1.
Press any key to continue . . .
4.2.4字典方法
#1.clear 清空字典
d={} #创建空字典
d["a"]="1" #给字典添加内容
d["b"]="2"
print d # 输出结果{'a': '1', 'b': '2'}
new_d=d.clear() #清空d
print d # 输出结果{}
print new_d # 输出结果None
#2.copy 返回具有相同建的新字典(实际上是浅复制shallow copy)
x={'a': '1', 'b': '2'}
y=x.copy()
print # 输出结果y{'a': '1', 'b': '2'}
y["a"]=3
print # 输出结果 y{'a': 3, 'b': '2'}
print # 输出结果 x{'a': '1', 'b': '2'}对y的修改不影响x
x={'a': '1', 'b': '2'}
y=x.copy()
from copy import deepcopy
z=deepcopy(x) #深复制
x["a"]=4
print x,y,z # 输出结果{'a': 4, 'b': '2'} {'a': '1', 'b': '2'} {'a': '1', 'b': '2'}
#3.fromkeys使用给定的键建立新字典
print {}.fromkeys(["a","b"]) # 输出结果{'a': None, 'b': None}默认赋值None
print {}.fromkeys(["a","b"],2) # 输出结果{'a':2, 'b':2}默认值设为2
#4.get宽松的访问词典的方式,若不存在项不报错,显示None
x={'a': '1', 'b': '2'}
print x.get("a"),x.get("c") # 输出结果 1 None
#5.has_key 字典中是否含有特定的键,返回TRUE or FALSE
x={'a': '1', 'b': '2'}
print x.has_key("a"),x.has_key("c") # 输出结果 True False
#6.items 字典以列表形式返回,disk逆过程 iteitems 返回迭代器
print x.items() # 输出结果[('a', '1'), ('b', '2')]
print x.iteritems() # 输出结果<dictionary-itemiterator object at 0x02C644E0>
print list(x.iteritems()) # 输出结果[('a', '1'), ('b', '2')] 显示迭代器内容
#7.keys和iterkeys
#8.pop移除给定键
x={'a': '1', 'b': '2'}
x.pop("b")
print x # 输出结果{'a': '1'}
#9.popitem去掉最后一个元素,相当于按顺序删除
x={'a': '1', 'b': '2'}
x.popitem()
print x # 输出结果{'b': '2'}
#setdefault相当于get,同时可以更新字典
x={'a': '1', 'b': '2'}
print x.setdefault("a") # 输出结果1
#11.update
x={'a': '1', #可以回车创建字典
'b': '2'}
y={"a":"3"}
x.update(y)
print x # 输出结果 {'a': '3', 'b': '2'}
#12.values以列表方式返回字典中的值 itervalues返回迭代器,同 iteitems
x={'a': '1', 'b': '2'}
print x.values() # 输出结果['1', '2']