令人头秃之Python学习Day4

令人头秃之Python学习Day4Python 学习 Day4 一 字典 1 字典的创建 2 字典元素的访问 3 字典元素添加 修改 删除 4 序列解包 5 表格数据使用字典和列表存储 并实现访问 6 字典核心底层原理二 集合 1 集合创建和删除 1 使用 创建集合对象 并使用 add 方法添加元素 2 使用 set 将列表 元组等可迭代对象转成集合 如果原来数据存在重复数据 则只保留一个 3 remove 删除指定元素 4 clear 清空整个集合 2 集合相关操作三 控制语句 1 选择结构 1 单分支选择结构 2 双分支选择结构 3 多分支选择

一、字典

1.字典的创建

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

eg:

>>> a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> b = dict(name='sansan',age=18,job='teacher') >>> a = dict([("name","sansan"),("age",18)]) >>> c = { 
   } #空的字典对象 >>> d = dict() #空的字典对象 
>>> k = ['name','age','job'] >>> v = ['sansan',18,'techer'] >>> d = dict(zip(k,v)) >>> d { 
   'name': 'sansan', 'age': 18, 'job': 'techer'} 
>>> a = dict.fromkeys(['name','age','job']) >>> a { 
   'name': None, 'age': None, 'job': None} 

2.字典元素的访问

>>> a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> a['name'] 'sansan' >>> a['age'] 18 >>> a['sex'] Traceback (most recent call last): File " 
   
     " 
   , line 1, in <module> a['sex'] KeyError: 'sex' 
>>> a.get('name') 'sansan' >>> a.get('sex') >>> a.get('sex','一个女人') >>>'一个女人' 
>>> a.items() dict_items([('name', 'sansan'), ('age', 18), ('job', 'teacher')]) 
>>> a.keys() dict_keys(['name', 'age', 'job']) >>> a.values() dict_values(['sansan', 18, 'teacher']) 
>>> a = { 
   "name":"sansan","age":18} >>> "name" in a True 

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

>>>a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> a['address']='天津' >>> a['age']=16 >>> a { 
   'name': 'sansan', 'age': 16, 'job': 'teacher', 'address': '天津'} 
>>> a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> b = { 
   'name':'axiang','money':2000,'sex':'男的'} >>> a.update(b) >>> a { 
   'name': 'axiang', 'age': 18, 'job': 'teacher', 'money': 2000, 'sex': '男的'} 
>>> a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> del(a['name']) >>> a { 
   'age': 18, 'job': 'teacher'} >>> b = a.pop('age') >>> b 18 
>>> a = { 
   'name':'sansan','age':18,'job':'teacher'} >>> a.popitem() ('job', 'teacher') >>> a { 
   'name': 'sansan', 'age': 18} >>> a.popitem() ('age', 18) >>> a { 
   'name': 'sansan'} 

4.序列解包

>>> x,y,z=(20,30,10) >>> x 20 >>> y 30 >>> z 10 >>> (a,b,c)=(9,8,10) >>> a 9 >>> [a,b,c]=[10,20,30] >>> a 10 >>> b 20 
>>> s = { 
   'name':'sansan','age':18,'job':'teacher'} >>> name,age,job=s #默认对键进行操作 >>> name 'name' >>> name,age,job=s.items() #对键值对进行操作 >>> name ('name', 'sansan') >>> name,age,job=s.values() #对值进行操作 >>> name 'sansan' 

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

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")) 

6.字典核心底层原理

后续详细介绍

二、集合

1.集合创建和删除

(1)使用{}创建集合对象,并使用 add()方法添加元素

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

eg:

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

(3)remove()删除指定元素

>>> a = { 
   10,20,30,40,50} >>> a.remove(20) >>> a { 
   10, 50, 30} 

(4)clear()清空整个集合

2.集合相关操作

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} 

三、控制语句

1.选择结构

(1)单分支选择结构

在这里插入图片描述
if 语句单分支结构的语法形式如下:
if 条件表达式:语句/语句块
其中:
1.条件表达式:可以是逻辑表达式、关系表达式、算术表达式。
2.语句/语句块:可以是一条语句,多条语句。多条语句,缩进必须对齐一致。
补充:
条件表达式详解
在选择和循环结构中,条件表达式的值为 False 的情况如下:
False、0、0.0、空值 None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空 range 对象、空迭代对象。
其他情况,均为True。所以Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。
eg:






















if 3: #整数作为条件表达式 print("ok") a = [] #列表作为条件表达式,由于为空列表,是 False  if a: print("空列表,False") s = "False" #非空字符串,是 True  if s: print("非空字符串,是 True") c = 9 if 3<c<20: print("3 
    
    ) 
    if 
    3 
    <c 
    and c 
    < 
    20 
    : 
    print 
    ( 
    "3 
      
      ) 
      
   

(2)双分支选择结构

在这里插入图片描述
双分支结构的语法格式:
if 条件表达式 :
语句 1/语句块 1 else:
语句 2/语句块 2
①三元条件运算符
条件为真时的值 if (条件表达式) else 条件为假时的值












(3)多分支选择结构

在这里插入图片描述
多分支选择结构的语法格式如下:
if 条件表达式 1 :
语句 1/语句块 1
elif 条件表达式 2:
语句 2/语句块 2
.
.
.
elif 条件表达式 n : 语句 n/语句块 n
[else:
语句 n+1/语句块 n+1
]
注:
1.计算机行业,描述语法格式时,使用中括号[]通常表示可选,非必选。
2.多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。
eg:
输入一个学生的成绩,将其转化成简单描述:不及格(小于 60)、及格(60-79)、良好(80-89)、优秀(90-100)。
1.每个分支都使用了独立的、完整的判断,顺序可以随意挪动,而不影响程序运行。




































score = int(input("请输入分数")) grade = '' if(score<60): grade = "不及格" if(60<=score<80): grade = "及格" if(80<=score<90): grade = "良好" if(90<=score<=100): grade = "优秀" print("分数是{0},等级是{1}".format(score,grade)) 

2.利用多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。

score = int(input("请输入分数")) grade = '' if score<60 : grade = "不及格" elif score<80 : grade = "及格" elif score<90 : grade = "良好" elif score<=100: grade = "优秀" print("分数是{0},等级是{1}".format(score,grade)) 

(4)选择结构嵌套

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)) 

或者

score = int(input("请输入一个在 0-100 之间的数字:")) degree = "ABCDE" num = 0 if score>100 or score<0: score = int(input("输入错误!请重新输入一个在 0-100 之间的数字:")) else: num = score//10 if num<6: #防止出现索引值错误 num=5 print("分数是{0},等级是{1}".format(score,degree[9-num])) 

四、循环结构

num = 0 while num<=10: print(num) num += 1 #改变条件表达式的语句 

②利用 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) 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202556.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:51
下一篇 2026年3月19日 下午11:51


相关推荐

  • vs2010打不开vs2017的.sln文件[通俗易懂]

    vs2010打不开vs2017的.sln文件[通俗易懂]出现错误提示“选择的文件是解决方案文件但是用此应用程序的较新版本创建的,无法打开”解决方案:1、复制下面这段语句MicrosoftVisualStudioSolutionFile,FormatVersion11.00#VisualStudio20102、用记事本方式打开vs2017版本的.sln文件,将上面复制的两行语句替换.sln文件里面前两行语句,保…

    2022年5月23日
    251
  • 离线浏览器Teleport Pro完全教程

    离线浏览器Teleport Pro完全教程书城导航  首页>电脑书籍>文件管理>离线浏览器TeleportPro完全教程(一) 

    2025年10月8日
    6
  • PAT乙级考后杂谈

    PAT乙级考后杂谈上周末去隔壁大学参加了PAT乙级的考试,结果没想到第一次考试就出了点小问题…本来考试是在1.30全国各个考点都同时开始(因为要排名),结果快到1.30的时候机房连不上网络,最后我们这个考点直接移后到将近2.30才开始考试,虽然结束时间也移后了,不过这多年不遇的突发情况直接让我遇到也太真实了。。。小插曲过后,再说下考试内容,乙级确实难度不大,三小时五道题,前两道题基本是送分题,虽然作者本人比较菜…

    2022年4月30日
    49
  • 华为Ascend 910B部署Qwen2.5-VL-32B方案

    华为Ascend 910B部署Qwen2.5-VL-32B方案

    2026年3月12日
    1
  • onmouseover 和onmousemove的区别「建议收藏」

    onmouseover 和onmousemove的区别「建议收藏」时间上 onmousemove事件触发后,再触发onmouseover事件。按钮上 不区分鼠标按钮。动作上 onmouseover只在刚进入区域时触发。onmousemove除了刚进入区域触发外,在区域内移动鼠标,也会触发该事件。当鼠标移动很快时,可能不会触发这两个事件。 onmouseover与onmousemove的区别是:当鼠标移过当…

    2022年8月30日
    5
  • SHELL学习笔记

    SHELL学习笔记1read 可以一次性读取多个变量 readfirstsec 从文件读取 nbsp readmessage 变量可以用命令替换 var 或者 数组变量的访问 var 0 2 0 脚本名称 1 2 参数 参数个数 没有 10 被解释成 1 和 0 办法 用 shift 移为 while ge nbsp 1 doecho 1shi

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号