Python语法基础之. Task06 字典和集合(8/17)

本文介绍了Python中的字典和集合基础知识,包括字典的定义、特性、创建、访问、修改、删除操作,以及集合的创建、基本操作和内置方法。重点讲解了字典的键值对操作及集合的无序性和不重复性特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 字典dict {}

1.1 字典的定义与特性

Python内置了字典dict,在其他语言中也称为map。字典是另一种可变容器模型,且可存储任意类型对象。字典使用键-值(key-value)存储,每个键值(key=>value)对用冒号:分割,每个对之间用逗号,分割,整个字典包括在花括号{}中,具有极快的查找速度。

d = {key1 : value1, key2 : value2 }
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88

创建字典

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

字典的特性

  • value可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但key不行
  • key必须是唯一的,但值(value)则不必
  • 多次对一个key放入value后面的值会把前面的值冲掉,即不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  • key必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
  • dict内部存放的顺序和key放入的顺序是没有关系的

特别的,要避免key不存在的错误,有两种办法:

  • { }是用来创建一个空字典
  • 通过in判断key是否存在
'Thomas' in d
False
  • 通过dict提供的get()方法:如果key不存在,可以返回None,或者自己指定的value
>>> d.get('Thomas')		# 返回None
>>> d.get('Thomas', -1)
-1

1.2 字典的基本操作

基本操作包括:访问、修改、删除、pop()

访问字典

  • 根据key(键)访问value(值)
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
 
print (dict['Name'])	# Ivan
  • 若字典里没有的键访问数据(不存子要访问的key),会输出错误

修改字典

  • 向字典添加新内容的方法是:增加新的键/值对,修改已有键/值
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
 
dict['Age'] = 20			# 更新 Age
dict['Code'] = "Python"		# 添加信息

删除操作

  • 删除单一键值对、清空字典、删除字典
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
 
del dict['Name'] # 删除键 'Name'
dict.clear()     # 清空字典
del dict         # 删除字典
  • 注:del() 方法后面也会讨论

pop(key)
用pop(key)方法,对应的value也会从dict中删除:类似于出栈。

>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

1.3 字典内置函数&方法


字典内置函数

  • len(dict):计算字典元素个数,即键的总数
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
print(len(dict))	# 3
  • str(dict):输出字典,以可打印的字符串表示
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
print(str(dict))	# "dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}"
  • type(variable):返回输入的变量类型,如果变量是字典就返回字典类型
dict = {'Name': 'Ivan', 'Age': X, 'Class': 'First'}
print(type(dict))	# <class 'dict'>

字典内置方法

Python字典包含了以下内置方法:

序号函数及描述
1radiansdict.clear()
删除字典内所有元素
2radiansdict.copy()
返回一个字典的浅复制
3radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5key in dict
如果键在字典dict里返回true,否则返回false
6radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表
8radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表
11pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()
随机返回并删除字典中的最后一对键和值。

2. 集合

集合(set)是一个无序的不重复元素序列;set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

  • 以使用{ }或者 set()函数创建集合
  • 注意:创建一个空集合必须用set()而不是 { }(因为 { } 是用来创建一个空字典)

一般的,为了与字典区分,多用set()函数创建集合

2.1 集合的基本操作

1、添加元素

  • s.add( x )
  • s.update( x )
    x 可以有多个,用逗号分开

2、移除元素

  • s.remove( x )
  • s.discard( x )
  • s.pop() : 随机删除集合中的一个元素
    3、计算集合元素个数
  • len(s)

4、清空集合

  • s.clear()

5、判断元素是否在集合中存在

  • x in s:存在返回 True,不存在返回 False

2.2 集合的内置方法

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值