python中字典的常用函数_python字典(dictionary)使用:不常用的基本函数例子

python字典dictionary,以前有过介绍,现就几个不常用函数写测试例子,

字典声明如,a={};

[python]dictionary方法说明:参考:http://blog.csdn.net/wangran51/article/details/8440848

Operation

Result

Notes

len(a)

the number of items in a 得到字典中元素的个数

a[k]

the item of a with key k 取得键K所对应的值

(1), (10)

a[k] = v

set a[k] to v 设定键k所对应的值成为v

del a[k]

remove a[k] from a 从字典中删除键为k的元素

(1)

a.clear()

remove all items from a 清空整个字典

a.copy()

a (shallow) copy of a 得到字典副本

k in a

True if a has a key k, else False 字典中存在键k则为返回True,没有则返回False

(2)

k not in a

Equivalent to not k in a字典中不存在键k则为返回true,反之返回False

(2)

a.has_key(k)

Equivalent to k in a, use that form in new code 等价于k in a

a.items()

a copy of a's list of (key, value) pairs 得到一个键,值的list

(3)

a.keys()

a copy of a's list of keys 得到键的list

(3)

a.update([b])

updates (and overwrites) key/value pairs from b从b字典中更新a字典,如果键相同则更新,a中不存在则追加

(9)

a.fromkeys(seq[, value])

Creates a new dictionary with keys from seq and values set to value

(7)

a.values()

a copy of a's list of values

(3)

a.get(k[, x])

a[k] if k in a, else x

(4)

a.setdefault(k[, x])

a[k] if k in a, else x (also setting it)

(5)

a.pop(k[, x])

a[k] if k in a, else x (and remove k)

(8)

a.popitem()

remove and return an arbitrary (key, value) pair

(6)

a.iteritems()

return an iterator over (key, value) pairs

(2), (3)

a.iterkeys()

return an iterator over the mapping's keys

(2), (3)

a.itervalues()

return an iterator over the mapping's values

(2), (3)

注意:items(), keys(), values()都返回一个list,即[]

如:dict.items()输出为[('a','b'), (1,2), ('hello','world')]

测试code:

[wizad@sr104 lmj]$ vim test.py

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}

for k in dict:

print "dict[%s]="%k,dict[k]

key="c"

if "c" not in dict:

print "it is not in %s" %key

print "-------------"

print dict.items()

print dict.keys()

print dict.values()

print "-------------"

iter = dict.iteritems()

for it in iter:

print "iteritems is:",it

print type(it)

print "-------------"

key_iter = dict.iterkeys()

for ki in key_iter:

print "key_iter is",ki

print type(ki)

print "-------------"

val_iter = dict.itervalues()

for vi in val_iter:

print "val_iter is",vi

print type(vi)

print "-------------"

结果:

dict[a]= apple

dict[b]= banana

dict[o]= orange

dict[g]= grape

it is not in c

-------------

[('a', 'apple'), ('b', 'banana'), ('o', 'orange'), ('g', 'grape')]

['a', 'b', 'o', 'g']

['apple', 'banana', 'orange', 'grape']

-------------

iteritems is: ('a', 'apple')

iteritems is: ('b', 'banana')

iteritems is: ('o', 'orange')

iteritems is: ('g', 'grape')

-------------

key_iter is a

key_iter is b

key_iter is o

key_iter is g

-------------

val_iter is apple

val_iter is banana

val_iter is orange

val_iter is grape

-------------

此外还有:

#字典的update:合并两个字典,无序

dict = {"a" : "apple", "b" : "banana"}

print dict

dict2 = {"c" : "grape", "d" : "orange"}

dict.update(dict2)

print dict

#udpate()的等价语句

D = {"key1" : "value1", "key2" : "value2"}

E = {"key3" : "value3", "key4" : "value4"}

for k in E:

D[k] = E[k]

print D

输出:

{'key3': 'value3', 'key2': 'value2', 'key1': 'value1', 'key4': 'value4'}

#设置默认值

dict = {}

dict.setdefault("a")

print dict

dict["a"] = "apple"

dict.setdefault("a","default")

print dict

#调用sorted()排序

dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}

print dict

#按照key排序

print sorted(dict.items(), key=lambda d: d[0])

#按照value排序

print sorted(dict.items(), key=lambda d: d[1])

#字典的浅拷贝

dict = {"a" : "apple", "b" : "grape"}

dict2 = {"c" : "orange", "d" : "banana"}

dict2 = dict.copy()

print dict2

#字典的深拷贝 import copy dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}} dict2 = copy.deepcopy(dict) dict3 = copy.copy(dict) dict2["b"]["g"] = "orange" print dict dict3["b"]["g"] = "orange" print dict

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值