python字典

字典

特点

  • 以键值对的方式存储数据
  • 键只能用不可变类型(能hash的类型),值可以使用任意任意数据类型
  • 无序
  • 长度和值都可改变

一般方法

  • 遍历
    items(self)
    取键值对,返回的是列表包裹的元祖
>>> dict1 = {"k1":1,"k2":"sss",3:[1, 2]}
>>> for item in dict1.items():
	print(item)	
('k2', 'sss')
(3, [1, 2])
('k1', 1)
>>> for k,v in dict1.items():
	print(k,v)
k2 sss
3 [1, 2]
k1 1

keys(self)
取键的值,返回的是列表
values(self)
取每个值,返回的是列表

魔法方法

建立

  • 使用{}进行包裹
  • dict(**kwarg) dict(mapping, **kwarg) dict(iterable, **kwarg)
>>>dict()                        # 创建空字典
{}
>>> dict(a='a', b='b', t='t')     # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1} 
>>> dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>>
  • dict.fromkeys(*args, **kwargs)
    对指定的可迭代对象和值建立字典,值如果不指定,则值会返回None。
>>> dict.fromkeys(["1",2,"a"],"2")
{2: '2', 'a': '2', '1': '2'}

增加

  • setdefault(self, k, d=None)
    指定一个key值,若key存在则返回响应的value值,若不存在,则会添加一个k:d键值对儿,若d不指定则返回None。
  • update(self, E=None, **F)
    可以传入有键值对的数据类型,或者传入指定的对应的数据参数。若传入的键已经存在则会自动更新相应的value值
#传入字典数据类型
>>> dict1 = { "k1":1,"k2":2 }
>>> dict2 = { "k3":3 }
>>> dict1.update(dict2)
>>> dict1
{'k2': 2, 'k1': 1, 'k3': 3}
#传入对应的参数
>>> dict1.update(k4=5)
>>> dict1
{'k2': 2, 'k1': 1, 'k4': 5, 'k3': 4}
  • 使用dict[key]=value的方式添加单个键值对

删除

  • pop(self, k, d=None)
    指定key的值进行弹出,若指定的key不存在,则会获取d的值,若d没有指定,则会产生KeyError的错误。
  • popitem(self)
    随机弹出一个键值对,以元祖的形式返回。
  • clear(self)

查询

  • get(self, k, d=None)
    根据指定的key值获得value值,若指定的key不存在,则会获得d的值,若是d没有指定,则返回None。
  • 使用dict[key]的方式,若key不存在则会报错,因此建议使用get方法。

其他

  • copy(self)
    浅拷贝
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值