python字典的创建、插入、删除和查询操作示例

Python学习评论

python字典的创建、插入、删除和查询操作示例

一、创建

通过{}来标识一个字典,内容是键值对,形式就是典型的json对象的格式。如:

l={}#创建一个空字典
l={"a":1,"b":2}
l={}#创建一个空字典
l={"a":1,"b":2}#创建一个字典,包含两个成员
l=[("a",1),("b",2)]#创建一个列表
l#输出列表
[('a', 1), ('b', 2)]
dict(l)#通过dict将列表转为字典
{'a': 1, 'b': 2}

二、插入和修改

举例如下

l
{'a': 1, 'b': 2}
l["c"]=3#插入字典
l
{'a': 1, 'b': 2, 'c': 3}
l["b"]=8#修改字典
l
{'a': 1, 'b': 8, 'c': 3}

直接通过 字典变量名[key名]就可以添加新的key-value项。

从上面例子可以看出,如果指定的key不存在,就会自动添加一个。

如果指定的key存在,就会用指定的值替换存在的key对应的value值。

 

三、删除

1、清除字典中的所有项

字典对象提供了 clear方法,可以清楚字典中的所有项。

l
{'a': 1, 'b': 8, 'c': 3}
l.clear()#清空字典
l
{}

 

2、del 字典变量

举例如下

l
{'a': 1, 'b': 2}
new_l=l
new_l
{'a': 1, 'b': 2}
del l["a"] #删除元素后,看l和new_l中的元素变化
l
{'b': 2}
new_l
{'b': 2}
del l #删除l后,new_l未受到影响
new_l
{'b': 2}
l=new_l #再次复活l
l #查看一下l
{'b': 2}
new_l #查看一下new_l,跟l又一样了
{'b': 2}
new_l.clear() #使用clear清空new_l,发现l也被清空了
new_l
{}
l
{}

del是python中的内置语句,用于删除变量的定义。从上面例子可以看出,它只是删除变量定义,不会删除变量指向的内容,当然如果这个内容没有被其它变量引用,python会自动释放。

上面的例子,l和new_l指向同一个字典对象,即使我们删除了l,对new_l是不影响的。

这点与clear方法不同,clear方法是删除字典中的所有内容,如果多个变量指向同一字典,该字典内容被clear啊,显然所有变量都能察觉到。

3、pop方法

先看例子

>>> data={"x":1,"y":2}
>>> print data
{'y': 2, 'x': 1}
>>> value = data.pop("x")#使用pop后,data["x"]也被删除
>>> print value
1
>>> print data
{'y': 2}
>>> value = data.pop("z")
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'z'

pop方法是根据传入的key值,返回对应的value值,并删除字典中的该条目。
但如果指定的key对应的条目在字典中不存在,则程序会出现异常。

 

四、查询

1、判断key是否存在

在很多情况下,我们需要判断一个key是否存在。代码如:

>>> data={"x":1}
>>> if "x" in data:
...     print True
... else:
...     print False
...
True
>>> if "y" in data:
...     print True
... else:
...     print False
...
False

除了用 in 运算符来判断某个key是否在字典中存在外,还可以用字典的方法 has_key(key)(注意:Python 3.X 不支持该方法)来检查,效果是一样的。

 

2、获取指定key的value

格式:字典变量[key值],举例如

>>> data={"x":1}
>>> data["x"]
1
>>> data["y"]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'y'

可以看出,如果key在字典中不存在,会报异常。还有一种更友好的方式,就是利用get方法,举例如下:

>>> data={"x":1}
>>> print data.get("x")
1
>>> print data.get("y")
None

可以看出,即使key不存在,程序不会出异常,get会返回一个None值。

如果我们希望在获取key对应的value时,如果key存在,则正常返回,如果key不存在,可以自动往字典中添加一个条目,并返回设置的条目的值。

这可以用到setdefault方法,举例如下:

>>> data={"x":1}
>>> print data.setdefault("x")
1
>>> print data.setdefault("x",3)
1
>>> print data
{'x': 1}
>>> print data.setdefault("y",2)
2
>>> print data
{'y': 2, 'x': 1}
>>> print data.setdefault("z")
None
>>> print data
{'y': 2, 'x': 1, 'z': None}

从上面代码例子中,我们可以很清晰的看出setdefault方法的作用。

3、遍历字典

很多场景下,我们需要遍历整个字典,获取到其中的每个条目信息。这可以这么来做,具体看代码:

>>> data = {"x":1,"y":2,"z":3}
>>> for key in data:
...     print key
...     print data[key]

通过for循环,可以很方便的遍历整个字典。

运营不易,
感谢支持!
weinxin
我的微信
我的微信公众号
我的微信公众号扫一扫
weinxin
我的公众号
 
公式库网
  • 本文由 公式库网 发表于 2023年3月29日12:45:06
  • 转载请务必保留本文链接:https://www.gongshiku.com/html/202303/pythonzidiandechuangjiancharushanchuhechaxuncaozuoshili.html
Python学习

Python操作pymysql详细示例

Python操作pymysql详细示例 程序在运行时,数据都是在内存中的。当程序终止时,通常需要将数据保存在磁盘上。前面我们有学过将数据写入文件就是保存到磁盘的一种方式。但是当面对大批量的数据时,为...

发表评论