Python字典方法
字典也有方法,很有用,但其使用频率可能没有列表和字符串方法那样高。
1、clear删除所有的字典项
d = {"key": "value"}d.clear()print(d){}
2、copy方法copy返回一个新字典,其包含的键值对与原来的字典相同(这各方法是浅复制,因为值本身是原件,而非副本)
x = {"username":"admin","machines": ["foo", "bar", "baz"]}y = x.copy()y["username"] = "mlh"y["machines"].remove("bar")print(x)print(y){"machines": ["foo", "baz"], "username": "admin"}{"machines":["foo","baz"],"username":"mlh"}
当替换副本中的值时,原字典不受影响,如果修改副本的值,原字典也随着改变,因为原字典指向的也是被修改的值
3、fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None
d = dict.fromkeys(["name","age"])print(d){"age": None, "name": None}d = dict.fromkeys(["name1","name2"],"chengzi")print(d){"name1": "chengzi", "name2": "chengzi"}
4、get访问字典key,获取value,使用get访问不存在的key时,不会引发异常,返回None
d = {"name": "chengzi","age":20}print(d.get("class"))print(d.get("name"))Nonechengzi
5、items 返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式,字典在列表中的排列顺序不确定。返回值属于一种名为字典视图的特殊类型,可用于迭代。
d = {"name": "chengzi","age":20}print(d.items())for key,value in d.items():print(key,value)dict_items([("name","chengzi"),("age",20)])name chengziage 20
6、keys返回一个字典视图,包含字典中的所有key,可用于迭代
d = {"name": "chengzi","age":20}print(d.keys())for key in d.keys():print(key)dict_keys(["age","name"])agename
7、pop 获取指定key对应的value,并将该key和value从字典中删除
d = {"name": "chengzi","age":20}print(d.pop("name"))print(d)chengzi{"age": 20}
8、setdefault有点像get,如果指定的key存在,返回对应的value,指定的key不存在,将key和value添加更新到字典里
d = {"name": "chengzi","age":20}print(d.setdefault("name"))print(d.setdefault("city","上海"))print(d)chengzi上海{"age": 20, "name": "chengzi", "city": "上海"}
9、update 使一个字典中的key和value更新另一个字典,对于通过参数提供的字典,将其key和value添加到当前字典中;如果当前字典包含相同的key,就更新替换它的value
d1 = {"name": "chengzi","age":20}d2={"city":"上海"}d3={"age":30}print(d1.update(d2))print(d1)print(d1.update(d3))print(d1)None{"city": "上海", "name": "chengzi", "age": 20}None{"city": "上海", "name": "chengzi", "age": 30}
10、values返回一个由字典中的值组成的字典视图,不同于方法keys,方法values返回的视图可能包含重复的值
d = {"name": "chengzi","age":20}print(d.values())for value in d.values():print(value)dict_values(["chengzi",20])chengzi20
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...