Python基础知识第四天

本文详细介绍了Python字典的基本操作,包括创建、访问、添加、修改和删除元素。此外,还讨论了字典与其他数据结构如列表、集合的交互,以及条件语句和循环结构在编程中的应用。通过实例展示了如何处理字典数据,为日常编程提供实用技巧。
摘要由CSDN通过智能技术生成

字典:
字典是“键值对”的无序的可变序列,每个键值对都包含“键”和“值”,一个键值对是一个元素
“键”是任意的不可变数据:整数、浮点数、字符串、元组,并且“键”不可重复
“值”是任意数据,可重复

# 通过{}和dict()创建字典
a = {'语言':['Python', 'R'], '年龄': 27}
a
{'语言': ['Python', 'R'], '年龄': 27}
b = dict(语言 = ['Python', 'R'], 年龄 = 27)
b
{'语言': ['Python', 'R'], '年龄': 27}
c = dict([('语言', ['Python', 'R']), ('年龄', 27)])
c
{'语言': ['Python', 'R'], '年龄': 27}

# 通过zip()
a = ['语言', '年龄']
b = [['Python', 'R'], 27]
c = dict(zip(a, b))
c
{'语言': ['Python', 'R'], '年龄': 27}

# 通过fromkeys创建值为空的字典
a = dict.fromkeys(['语言', '年龄'])
a
{'语言': None, '年龄': None}

字典元素的访问:

# 通过“键”获得“值”,如果“键”不存在,则报错
c
{'语言': ['Python', 'R'], '年龄': 27}
c['语言']
['Python', 'R']

# 通过get()获得“值”,如果“键”不存在,则返回“None”或者返回指定值
c.get('年龄')
27
print(c.get('a'))
None
c.get('a', '不存在')
'不存在'

# 列出所有的键值对
c.items()
dict_items([('语言', ['Python', 'R']), ('年龄', 27)])

# 列出所有的键和值
c.keys() # 键
dict_keys(['语言', '年龄'])
c.values() # 值
dict_values([['Python', 'R'], 27])

# len()返回键值对的个数
len(c)
2

# 判断一个“键”是否在字典中
'年龄' in c
True
'a' in c
False

字典元素的添加、修改、删除

# 添加,如果键已经存在,则覆盖旧值
c['专业'] = '统计'
c
{'语言': ['Python', 'R'], '年龄': 27, '专业': '统计'}

# update()将新字典的所有元素添加到旧字典上,如果“键”已存在,则覆盖
d = {'学校': 'UCD'}
c.update(d)
c
{'语言': ['Python', 'R'], '年龄': 27, '专业': '统计', '学校': 'UCD'}

# del()删除指定元素,clear()删除所有的键值对,pop()删除指定的键值对并返回对应的值
del c['学校']
c
{'语言': ['Python', 'R'], '年龄': 27, '专业': '统计'}
b = c.pop('专业')
b
'统计'
c
{'语言': ['Python', 'R'], '年龄': 27}
c.clear()
c
{}

# popitem()随机删除和返回该键值对
a = {'语言': ['Python', 'R'], '年龄': 27, '专业': '统计', '学校': 'UCD'}
a.popitem()
('学校', 'UCD')
a
{'语言': ['Python', 'R'], '年龄': 27, '专业': '统计'}
a.popitem()
('专业', '统计')
a
{'语言': ['Python', 'R'], '年龄': 27}
a.popitem()
('年龄', 27)
a
{'语言': ['Python', 'R']}

序列解包:
可用于元组,列表,字典,用于方便的对多个变量赋值

a, b, c = 10, 30, 40 # 元组
a
10
b
30
c
40
[a, b, c] = ['4', 39, ''] # 列表
a
'4'
b
39
c
''
a = {'语言': ['Python', 'R'], '年龄': 27, '专业': '统计'}
x, y, z = a # 默认对键进行操作
x
'语言'
y
'年龄'
z
'专业'
x, y, z = a.items() # 对键值对进行操作
x
('语言', ['Python', 'R'])
y
('年龄', 27)
z
('专业', '统计')
x, y, z = a.values() # 对值进行操作
x
['Python', 'R']
y
27
z
'统计'

练习:

a1 = {'科目': '数学', '分数': 87, '评分': '良'}
a2 = {'科目': '英语', '分数': 90, '评分': '优'}
a3 = {'科目': '语文', '分数': 75, '评分': '良'}
a = [a1, a2, a3]
a
[{'科目': '数学', '分数': 87, '评分': '良'}, {'科目': '英语', '分数': 90, '评分': '优'}, {'科目': '语文', '分数': 75, '评分': '良'}]
a[1].get('分数') # 获得第二行的分数
90

集合:
集合无序可变,元素不能重复,集合的元素是字典的“键”对象,所以不能重复

# 使用{}创建
a = {73, 9, '内容'}
a
{73, 9, '内容'}

# 使用add()添加元素
a.add('')
a
{'', 73, 9, '内容'}

# 使用set()将列表、元组等可迭代对象转为集合,如果存在重复数据,则只保留一个
b = ['a', 'a', 'v', 'e']
c = set(b)
c
{'e', 'v', 'a'}

# remove()删除指定元素,clear()清空集合
a.remove('内容')
a
{'', 73, 9}
a.clear()
a
set()

|或union() 并集
&或intersection() 交集
-(减号)或difference() 差集

控制语句:
条件表达式为False的情况:False(boolean),0,0.0,空值None,空序列(列表,元组,集合,字典,字符串),空range,空迭代
其他情况均为True
条件表达式不能有赋值操作

选择结构:

# 从上到下依次判断,条件符合则停止后面的判断
if 条件:
	必须缩进
elif 条件:
	缩进
else:
	缩进

# 三元条件运算
print(9 if 9 < 8 else '错')

循环结构:
while循环:

while 条件:
	循环体语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值