Chapter 47 - 61

字典

字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键
对象”和“值对象”。

一个典型的字典的定义方式:
a = {'name':'gaoqi','age':18,'job':'programmer'}

通过{}、dict()来创建字典对象

>>> a = {'name':'gaoqi','age':18,'job':'programmer'}
>>> b = dict(name='gaoqi',age=18,job='programmer')
>>> a = dict([("name","gaoqi"),("age",18)])
>>> c = {} #空的字典对象
>>> d = dict() #空的字典对象

字典元素的访问

通过get()方法获得“值”。推荐使用。优点是:指定键不存在,返回None;也可以设
定指定键不存在时默认返回的对象。推荐使用get()获取“值对象”。
>>> a.get('name')
'gaoqi'
>>> a.get('sex')
>>> a.get('sex','一个男人')
'一个男人'

列出所有的键值对
>>> a.items()
dict_items([('name', 'gaoqi'), ('age', 18), ('job', 'programmer')])
列出所有的键
>>> a.keys()
dict_keys(['name', 'age', 'job'])

列出所有的值
>>> a.values()
dict_values(['gaoqi', 18, 'programmer'])


len() 键值对的个数
检测一个“键”是否在字典中

>>> a = {"name":"gaoqi","age":18}
>>> "name" in a
True

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

给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,
则新增“键值对”。

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

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

popitem() :随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元
素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其
他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先
获取键的列表)。

表格数据使用字典和列表存储,并实现访问

集合

1. 使用{}创建集合对象,并使用add()方法添加元素。添加的元素不可与现有的重复。

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

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

像数学中概念一样,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) #并集
{1, 3, 'sxt', 'he', 'it'}
>>> a.intersection(b) #交集
{'sxt'}
>>> a.difference(b) #差集
{1, 3}
 

控制语句

选择结构

if 条件表达式:
语句/语句块

其中:
1 .条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。
2 .语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。

·条件表达式中,不能有赋值操作符“=”

双分支选择结构
双分支结构的语法格式如下:
if 条件表达式:
        语句1/语句块1
else:
        语句2/语句块2

三元条件运算符
Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如
下:
条件为真时的值if (条件表达式) else 条件为假时的值
上一个案例代码,可以用三元条件运算符实现:
num = input("请输入一个数字")
print( num if int(num)<10 else "数字太大")

多分支选择结构

多分支选择结构的语法格式如下:
if 条件表达式1 :
        语句1/语句块1
elif 条件表达式2:
        语句2/语句块2
.
.
.
elif 条件表达式n :
        语句n/语句块n
[else:
        语句n+1/语句块n+1
]

选择结构嵌套
选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了
代码的从属关系。语法格式如下:

if 表达式1:
       语句块1
       if 表达式2:
               语句块2
       else:
               语句块3
 else:
        if 表达式4:
               语句块4

循环结构

循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否
则,就会变成一个死循环。

while 循环
while 循环的语法格式如下:


while 条件表达式:
        循环体语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值