Python学习4--2022年3月2日

字典

以键值对的形式创建,总是成对的出现

字典的创建

  1. 创建空字典
a = {}
  1. 直接赋值创建
a = {1:'a', 2:'b', 3:'c'}
  1. 通过dict()将二元组列表创建为字典
list = [(1, 'a'), (2, 'b'), (3, 'c')]
dic = dict(list)
  1. 将dict和zip相结合创建字典
dic = dict(zip([1, 2, 3], 'abc'))

字典的访问

  1. 通过[键]获得[值]。如果[键]不存在,则抛出异常
a = {1:'a', 2:'b', 3:'c'}
a[1]
	----a
  1. 通过get()方法获得[值]。如果[键]不存在,则返回None
a = {1:'a', 2:'b', 3:'c'}
a.get(2)
	----b
a.get(4, '不存在')
	----'不存在'
  1. 列出所有的键值对
a = {1:'a', 2:'b', 3:'c'}
a.items()
	----dict_items([(1, 'a'), (2, 'b'), (3, 'c')])
  1. 列出所有的键, 列出所有的值
a = {1:'a', 2:'b', 3:'c'}
a.keys()
	----dict_keys([1, 2, 3])
a.values()
	----dict_values(['a', 'b', 'c'])
  1. len()键值对的个数
a = {1:'a', 2:'b', 3:'c'}
len(a)
	----3
  1. 检测一个[键]是否在字典中
a = {1:'a', 2:'b', 3:'c'}
1 in a
	----True

字典的添加、修改、删除

  1. 添加、修改

添加时,如果[键]存在,则覆盖;如果[键]不存在,则新增

a = {1:'a', 2:'b', 3:'c'}
a[3] = 'cc'
a
	----{1:'a', 2:'b', 3:'cc'}
a[4] = 'd'
a
	----{1:'a', 2:'b', 3:'cc', 4:'d'}
  1. 删除
a = {1:'a', 2:'b', 3:'c'}
del(a[3])
a
	----{2:'b', 3:'c'}
b = a.pop(2)
b
	----b
``
> 字典是一个“无序可变序列”,因此没有第一个元素、最后一个元素的概念。

# 序列解包
```python
# 1. 默认对键进行操作
a = {1:'a', 2:'b', 3:'c'}
x, y, z = a
x
	----1
# 2. 对键值对进行操作
a = {1:'a', 2:'b', 3:'c'}
x, y, z = a.items()
x
	----(1, 'a')
# 3. 对值对进行操作
a = {1:'a', 2:'b', 3:'c'}
x, y, z = a.values()
x
	---- 'a'

集合

  1. 使用{}创建集合对象,add()添加元素
a = {'a', 'b', 'c'}
a
	----{'a', 'b', 'c'}
a.add('d')
a
	----{'a', 'b', 'c', 'd'}
  1. 使用set(),将列表,元组等可迭代对象转成集合,如果有重复数据,则只保留一个
a = ['a', 'b', 'c', 'a']
b = set(a)
     ----{'a', 'b', 'c'}
  1. 使用remove()删除指定元素;clean清空整个集合
a = {'a', 'b', 'c', 'd'}
a.remove('b')
    ----{'a', 'c', 'd'}
a.clean()
    ----set()
  1. 集合的并集、交集、差集等运算
a = {'a', 'b', 'c', 'd'}
b = {'b', 'e'}
a|b   或者   a.union(b)    # 并集
   ----{'a', 'b', 'c', 'd', 'e'}
a&b   或者   a.intersection(b)    # 交集
   ----{'b'}
a-b   或者   a.difference(b)    # 差集
   ----{'a', 'c', 'd'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值