python基础——day04

这篇博客介绍了Python中的字典,包括字典的特点、创建方式、元素的访问与操作,以及如何使用字典处理复杂表格数据。此外,还讲解了集合的创建、删除和运算操作,以及条件表达式在不同选择结构中的应用,如三元运算符和多分支选择结构的实现。

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

字典_特点_4种创建方式_普通_dict_zip_formkeys
1.字典
字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。
一个典型的字典的定义方式: a = {‘name’:‘gaoqi’,‘age’:18,‘job’:‘programmer’}
2.字典的创建

>>> c={}
>>> c
{}
>>> c=dict()
>>> c
{}
>>> k=['a','b','c']
>>> v=[100,200,300]
>>> c=dict(zip(k,v))
>>> c
{'a': 100, 'b': 200, 'c': 300}
>>> a={'name':'yangqi','age':'20'}
>>> a
{'name': 'yangqi', 'age': '20'}
>>> a=dict(name='yangqi',age=18,job='programmer')
>>> a
{'name': 'yangqi', 'age': 18, 'job': 'programmer'}
>>> k=['name','age','job']
>>> v=['yangqi',20,'student']
>>> d=dict(zip(k,v))
>>> d
{'name': 'yangqi', 'age': 20, 'job': 'student'}
>>> a=dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}
>>>

字典_元素的访问_键的访问_值的访问_键值对的访问

>>> a={'name':'yangqi','age':'20','job':'student'}
>>> a
{'name': 'yangqi', 'age': '20', 'job': 'student'}
>>> a['name']
'yangqi'
>>> a['sex']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'sex'
>>> a.get('name')
'yangqi'
>>> a.get('sex','female')
'female'
>>>
>>> a.items()
dict_items([('name', 'yangqi'), ('age', '20'), ('job', 'student')])
>>> a.keys()
dict_keys(['name', 'age', 'job'])
>>> a.values()
dict_values(['yangqi', '20', 'student'])
>>> a.items()
dict_items([('name', 'yangqi'), ('age', '20'), ('job', 'student')])
>>> a.keys()
dict_keys(['name', 'age', 'job'])
>>> a.values()
dict_values(['yangqi', '20', 'student'])
>>> len(a)
3
>>> 'name' in a
True
>>> 'qq' in a
False

字典_元素的添加_修改_删除
1.给字典新增键值对;如果键已经存在,则覆盖就的键值对,如果键不存在,则新增键值对;

>>> 'sex' in a
False
>>> a['sex']='female'
>>> a
{'name': 'yangqi', 'age': '20', 'job': 'student', 'sex': 'female'}

2.使用update()将新字典中的所有键值对全部添加到就字典对象上,如果key有重读,则直接覆盖

>>> a
{'name': 'yangqi', 'age': '20', 'job': 'student', 'sex': 'female'}
>>> b={'addr':'Beijing','name':'qwe'}
>>> a['sex']='male'
>>> a
{'name': 'yangqi', 'age': '20', 'job': 'student', 'sex': 'male'}
>>> a['addr']='Shanghai'
>>> a
{'name': 'yangqi', 'age': '20', 'job': 'student', 'sex': 'male', 'addr': 'Shanghai'}
>>> a.update(b)
>>> a
{'name': 'qwe', 'age': '20', 'job': 'student', 'sex': 'male', 'addr': 'Beijing'}
>>>

3.字典中的元素的删除,可以用del(),或者clear()删除所有键值对;pop()删除指定键值对并返回对应的值对象

>>> b=a.pop('sex')
>>> b
'female'

4.popitem() :随机删除和返回该键值对
字典_序列解包用于列表元组字典
1.序列解包
序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。

>>> (a,b,c)=(9,8,10)
>>> a
9

序列解包用于字典时,默认是对“键”进行操作; 如果需要对键值对操作,则需要使用 items();如果需要对“值”进行操作,则需要使用 values();

>>> a
{'name': 'yangqi', 'sex': 'femmale'}
>>> b,c=a
>>> b
'name'
>>> c
'sex'
>>> b,c=a.items()
>>> b
('name', 'yangqi')
>>> c
('sex', 'femmale')
>>> b,c=a.values()
>>> b
'yangqi'
>>> c
'femmale'
>>>

字典_复杂表格数据存储_列表和字典综合嵌套
表格数据使用字典和列表存储,并实现访问

>>> r1={'name':'yangqi','age':'20','sex':'female'}
>>> r2={'name':'luowei','age':'22','sex':'male'}
>>> r3={'name':'xiaoyu','age':'22','sex':'male'}
>>> t=[r1,r2,r3]
>>> t
[{'name': 'yangqi', 'age': '20', 'sex': 'female'}, {'name': 'luowei', 'age': '22', 'sex'
: 'male'}, {'name': 'xiaoyu', 'age': '22', 'sex': 'male'}]
>>> t[1].get('name')
'luowei'
>>> for i in range(3):
...     print(t[i].get('name'))
...
yangqi
luowei
xiaoyu

集合_特点_创建和删除_交集并集差集运算
1.集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的。
2.集合创建和删除
使用{}创建集合对象,并使用 add()方法添加元素

>>> a={3,4,5,6}
>>> a
{3, 4, 5, 6}
>>> a.add(7)
>>> a
{3, 4, 5, 6, 7}

使用set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。

>>> c=['a','a']
>>> d=set(c)
>>> c
['a', 'a']
>>> d
{'a'}
>>>

remove()删除指定元素;clear()清空整个集合

>>> a
{40, 10, 50, 20, 30}
>>> a.remove(20)
>>> a
{40, 10, 50, 30}
>>> clear(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'clear' is not defined
>>> a
{40, 10, 50, 30}
>>> a.clear()
>>> a
set()

集合相关操作
像数学中概念一样,Python对集合也提供了并集、交集、差集等运算。给出示例:

>>> a={1,3,'sxt'}
>>> b={'he','it','sxt'}
>>> a|b
{1, 3, 'sxt', 'he', 'it'}
>>> a&b
{'sxt'}
>>> a-b
{1, 3}
>>> a union b
  File "<stdin>", line 1
    a union b
          ^
SyntaxError: invalid syntax
>>> a.union(b)
{1, 3, 'sxt', 'he', 'it'}
>>> a.intersection(b)
{'sxt'}
>>> a.difference(b)
{1, 3}
>>>

单分支选择结构_条件表达式
在这里插入图片描述
在这里插入图片描述
在选择和循环结构中,条件表达式的值为 False的情况如下:
False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字 符串)、空range 对象、空迭代对象。
其他情况,均为True。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至 包括函数调用的表达式。
在这里插入图片描述
条件表达式中,不能有赋值操作符“=”
在Python中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运算符“==”写作赋值运算符“=”带来的困扰。如下代码将会报语法错误:
在这里插入图片描述
双分支选择结构_三元运算符的使用详解
双分支结构的语法格式如下:
在这里插入图片描述
在这里插入图片描述
三元条件运算符
Python提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下: 条件为真时的值 if (条件表达式) else 条件为假时的值
在这里插入图片描述
多分支选择结构
在这里插入图片描述
输入一个学生的成绩,将其转化成简单描述:不及格(小于60)、及格(60-79)、良 好(80-89)、优秀(90-100)。
在这里插入图片描述
选择结构的嵌套
在这里插入图片描述
在这里插入图片描述
while循环结构_死循环处理
在这里插入图片描述
1.循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成一个死循环。
2.利用while 循环,计算1-100 之间数字的累加和;计算1-100 之间偶数的累加和, 计算 1-100 之间奇数的累加和。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值