Python笔记-序列(2)和控制语句

字典

字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。
“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。“值”可以是任意的数据,并且可重复

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

字典的创建

(1)通过{}、dict()来创建字典对象。
(2)通过 zip()创建字典对象
(3)通过 fromkeys 创建值为空的字典

字典元素的访问

(1)通过 [键] 获得“值”。若键不存在,则抛出异常。
(2)通过 get()方法获得“值”。推荐使用。优点是:指定键不存在,返回 None;也可以设定指定键不存在时默认返回的对象。推荐使用 get()获取“值对象
(3)列出所有的键值对:a.items()
(4)列出所有的键,列出所有的值: a.keys() a.values()
(5)len() 键值对的个数
(6) 检测一个“键”是否在字典中:in

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

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

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

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

(4). popitem() :随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其他有关顺序的概念。

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

r1 = {"name":"小一","age":18,"salary":30000,"city":"北京"}
r2 = {"name":"小二","age":19,"salary":20000,"city":"上海"}
r3 = {"name":"小五","age":20,"salary":10000,"city":"深圳"}
tb = [r1,r2,r3]
#获得第二行的人的薪资
print(tb[1].get("salary"))
#打印表中所有的的薪资
for i in range(len(tb)): # i -->0,1,2
print(tb[i].get("salary"))
#打印表的所有数据
for i in range(len(tb)):
print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

集合

集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复的且唯一的

集合创建和删除

(1)使用{}创建集合对象,并使用 add()方法添加元素
(2)使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个
(3)remove()删除指定元素;clear()清空整个集合

集合相关操作

(1)a|b #并集
(2)a&b #交集
(3)a-b #差
(4)a.union(b) #并集
(5)a.intersection(b) #交集
(6) a.difference(b) #差集

控制语句

选择结构

选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。
在这里插入图片描述

单分支选择结构

if 语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块

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

在选择和循环结构中,条件表达式的值为 False 的情况如下:
False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空 range 对象、空迭代对象

双分支选择结构

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

三元条件运算符

三元条件运算符语法格式如下:
条件为真时的值 if (条件表达式) 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

例子

输入一个分数。分数在 0-100 之间。90 以上是 A,80 以上是 B,70 以上是 C,60以上是 D。60 以下是 E

score = int(input("请输入一个在 0-100 之间的数字:"))
grade = ""
if score>100 or score<0:
score = int(input("输入错误!请重新输入一个在 0-100 之间的数字:"))
else:
if score>=90:
grade = "A"
elif score>=80:
grade = 'B'
elif score>=70:
grade = 'C'
elif score>=60:
grade = 'D'
else:
grade = 'E'
print("分数为{0},等级为{1}".format(score,grade))

循环结构

循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为 True,如果为 True 则重复执行循环体里的语句

while 循环

while 循环的语法格式如下:
while 条件表达式:
循环体语句

例子

利用 while 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算 1-100 之间奇数的累加和

num = 0
sum_all = 0 #1-100 所有数的累加
sum_even = 0 #1-100 偶数的累加和
sum_odd = 0 #1-100 奇数的累加和
while num<=100:
sum_all += num
if num%2==0:sum_even += num
else:sum_odd += num
num += 1 #迭代,改变条件表达式,使循环趋于结束
print("1-100 所有数的累加和",sum_all)
print("1-100 偶数的累加和",sum_even)
print("1-100 奇数的累加和",sum_odd)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值