python-dict字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

 删除字典元素:

#创建一个字典
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}


del tinydict[Name] #删除的是Name的条目

tinydict clear()#清空字段内容    在次打印结果返回none

del tinydict #删除字段           在次打印字段  显示报错tinydict未定义

字典内置的函数&方法

1、比较两个字典元素 

如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。
dict1==dict2   返回0
dict1>dict2    返回1
dict1<dict2    返回-1

cmp(dict1, dict2) 用于比较两个字段的函数

2、len() 函数计算字典元素个数,即键的总数

len(dict)

3、删除字典内所有元素

dict.clear()

4、返回一个字典的浅复制

dict.copy()
 


dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1          # 浅拷贝: 引用对象
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
 
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1)
print(dict2)
print(dict3)


结果:
{'user': 'runoob', 'num': [1, 3]}
{'user': 'root', 'num': [1, 3]}
{'user': 'root', 'num': [1, 3]}

结论:当不使用copy的时候是浅拷贝
      当使用copy函数的时候则第一级是深拷贝,二级数据还是浅拷贝的引用 所以当前数据进行删除1则3的字典数据都进行了相应的删除

5、字典(Dictionary) fromkeys()方法

list1=["w","1","a"]
dict1=dict.fromkeys(list1,10)    #参数1 列表|元组  参数2 字典设置的value
print(dict1)

结果:
{'w': 10, '1': 10, 'a': 10}


6、        __contains__(key)  如果键在字典里返回true,否则返回false。

dict1={"name":"zhangsan","age":12}
print(dict1.__contains__("zhangsan"))
print(dict1.__contains__("name"))


结果:
false
true

7、字典(Dictionary) update()方法

字典(Dictionary) update() 函数把字典 dict2 的键/值对更新到 dict 里。

但是要注意的点是:当前数据中的key有和更新来的数据key一样,则会直接替换值,不会新增key.

tinydict = {'Name': 'Zara', 'Age': 7}
dict1={"name":"zhangsan","age":12}
dict1.update(tinydict)
print(dict1)
>>> a = {1: 2, 2: 2}
>>> b = {1: 1, 3: 3}
>>> b.update(a)
>>> print b
{1: 2, 2: 2, 3: 3}

 

8、 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。

pop(key[,default])

参数

  • key - 要删除的键
  • default - 当键 key 不存在时返回的值
site= {'name': '教程', 'alexa': 10000, 'url': 'www.runoob.com'}

element = site.pop('name')

print('删除的元素为:')
print(element)
print('字典为:')
print(site) 

结果:

删除的元素为:
菜鸟教程
字典为:
{'url': 'www.runoob.com', 'alexa': 10000}

8、popitem()
返回并删除字典中的最后一对键和值。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Conan-Doyle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值