[python dict函数]Python笔记(dict)字典

更新时间:2020-04-06    来源:python    手机版     字体:

【www.bbyears.com--python】

dict即字典,类似于数组,一个元素对应一个键值。例如:
d={"a":"zimu","1":"shuzi"}
print(d["a"])
返回字典d中a元素的值zimu。

判断一个key是否在字典中,可以使用key in dict的语句来查询
print("a" in d)
存在返回true,不存在返回false。

也可以使用get函数,格式为dict.get("key")如果存在则返回对应的键值,不存在返回none,但是这个函数方便的是如果不存在key可以直接给予赋值
print(d.get("a"))返回zimu;print(d.get("b"))返回none;print(d.get("b","tianjia"))返回tianjia

修改元素的键值可以使用dict[key]=value

删除元素使用del dict[key]
d={"a":"zimu","1":"shuzi"}
print(d)
del d["a"]
print(d)

清空整个字典的元素使用dict.clear()

#这里初始化一个dict
>>> d = {"a":1, "b":0, "c":1, "d":0}
#本意是遍历dict,发现元素的值是0的话,就删掉
>>> for k in d:
...   if d[k] == 0:
...     del(d[k])
...
Traceback (most recent call last):
  File "", line 1, in
RuntimeError: dictionary changed size during iteration
#结果抛出异常了,两个0的元素,也只删掉一个。
>>> d
{"a": 1, "c": 1, "d": 0}

>>> d = {"a":1, "b":0, "c":1, "d":0}
#d.keys() 是一个下标的数组
>>> d.keys()
["a", "c", "b", "d"]
#这样遍历,就没问题了,因为其实其实这里遍历的是d.keys()这个list常量。
>>> for k in d.keys():
...   if d[k] == 0:
...     del(d[k])
...
>>> d
{"a": 1, "c": 1}
#结果也是对的
>>>

dict 两种遍历方式的性能对比

关于纠结dict遍历中带括号与不带括号的性能问题

for (d,x) in dict.items():
     print "key:"+d+",value:"+str(x)

for d,x in dict.items():
    print "key:"+d+",value:"+str(x)

本文来源:http://www.bbyears.com/jiaocheng/92225.html

热门标签

更多>>

本类排行