【python 笔记/小白快速入门python】python浅谈(一)犹抱琵琶半遮面

本文是Python入门系列的第一篇,主要介绍了列表和字典的概念及操作,包括创建、提取、删除和增加元素。此外,还讨论了列表与字典的区别与共同点,并探讨了循环的基本概念,包括for和while循环的用法以及循环控制语句如break和continue。

python浅谈(一)犹抱琵琶半遮面


继浅谈(零)初识庐山真面目【https://blog.csdn.net/HarryOtter/article/details/90519877 】 之后,终于窥得 ‘ python女神 ’一丝曼妙的轮廓,然鹅我的目的不止于此(手动滑稽),这次就让我们进一步探秘咱们的 ‘ python女神 ’ 吧(づ ̄3 ̄)づ╭❤~


NUM6.列表

(0) 概念描述:
0. 列表:需要用 ‘ [ ] ’ 将各种数据元素框起来,并且其中的元素要用英文逗号隔开
e.g:
surprise =  [ '小猪' ,'芦荟','包子' ,'章鱼' ]
  • 上述就是代码的一种标准格式
  • [ ‘小猪’ ,‘芦荟’,‘包子’ ,‘章鱼’ ]就是一个名为 surprise 的列表
  • surprise 列表里面有四个数据元素 :‘小猪’ ‘芦荟’ ‘包子’ ‘章鱼’
注意 :列表具有包容性,能够同时包容各种数据类型(整数、浮点数、字符串)
e.g:
 cute = [ '小猪' , 20 , 1.65 ]
1. 偏移量:列表中的元素都是有序排列的,每个元素按序的编号就是该元素的偏移量

注意:

  • 偏移量是从 0 开始的,而不是 1
  • 列表名后加带偏移量的 [ ]
e.g:
 infor = [ ' 醉里拈花 ' , 21 , 1.59 ]
 infor [0] = ' 醉里拈花 '
 infor [1] = 21
 infor [2] = 1.59
(1) 操作:
0. 打印:
e.g:
 infor = [ '醉里拈花' , 21 , 1.59 ]
 print (infor)
 ---------------------------------------->  ' 醉里拈花 ' , 21 ,  1.59
1. 提取(从列表):从列表中提取单个/多个数据元素
  • <1> 提取单个元素
e.g:
infor = [ '醉里拈花' , 21 , 1.59 ]
print( infor[0] )
------------------------------------------> ' 醉里拈花 '
  • <2> 提取多个元素
e.g:
list = [ 5, 6, 7, 8, 9 ]
print( list  [ : ]  )         --------------->   5, 6, 7, 8, 9
print( list  [2 :]  )         --------------->   7, 8, 9
print( list  [: 2]  )         --------------->   5, 6
print( list  [1:3]  )         --------------->   6, 7
print(list   [2:4]  )         --------------->   7, 8

注意

  • 方括号左边取得到,右边取到数字的左边一位;
  • 遇到空的,取到头
2. 删除(从列表):从列表中删除单个/多个数据元素
e.g:
list = [ 5, 6, 7, 8, 9 ]
del list [ 0 ]  -------------------------------> 6, 7, 8, 9 

list = [ 章鱼 , 包子 , 老大 , 芦荟 ]
del list [ 1:3 ] ------------------------------>章鱼 , 芦荟
  • 删除单个数据元素遵循从零开始的法则
  • 可以删除单个或多个(类似于切片的原理)
  • 删除时仍遵循 “ 左取右不取” 的口诀
3. 增加 (从列表):用 append ( ) 函数来给字典进行增补数据元素
e.g:
list = [ 1 , 2 ]
list . append (3)

注意
<1> : append( )函数只能接收一个参数(一个单位的数据元素)

e.g:
list = [ 1 , 2 ]
list . append ( 3 , 4 ) 
------------------------------------------------------
TypeError: append() takes exactly one argument (2 given)
  • append( )函数只能接受一个参数,但是()里 却有两个参数:4,5

<2> : 列表支持内部嵌套 ( 只要满足数量单一,单个列表也可以视作为一个元素 )

list = [ 1 , 2 , 3 ]
list . append ( [ 3 , 4 ] )  -------------------->   [1, 2, 3, [4, 5] ]

<3> : append 后的元素会添加在数据的末尾

NUM7.字典

(0) 概念描述:由键值对(唯一的一个键和对应的值形成的组合)组成的数据类型
e.g:
weight = { '章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
  • ‘章鱼’ : 75 就是一个键值对,其中’章鱼’是 键(key),75 是值(value)

注意
0. 字典里的键具有唯一性,而值可以重复

(1) 操作 :
0.从字典中提取元素
weight =  {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47  }
print ( weight [ ' 老大 ' ] )  ----------------------------> 65
  • 字典通过键来索引值,区别于列表通过偏移量索引值
1.从字典中增加元素
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47  }
weight [ ' 黑米烧麦 ' ] = 45
print (weight) --->  {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 ,' 黑米烧麦 ' : 45 }
  • 新增字典元素要用到赋值语句
  • 代码结构公式:字典名[键]=值
2.从字典中删除元素
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47  }
del weight ['章鱼'] 
print ( weight ) ------->  {'包子' :54 ,'老大' :65 , '芦荟' :47  }
  • 删除字典元素要删除该字典元素的主键
  • 代码结构公式:字典名[键]=值

NUM8.列表与字典的异同:

(0) 不同点 :
0.列表是有顺序排列的,而字典里的数据是随机的
e.g:
surprise1=  [ '小猪'  ,'芦荟' ,'包子' ,'章鱼' ]
surprise2=  [ '芦荟'  ,'小猪'  ,'章鱼' ,'包子' ]
print (surprise1 == surprise2)   --------------------------------> False
  • 列表中的元素有自己明确的位置,即使元素一样,元素所处的位置不一样,则也不是同一个列表
e.g:
weight1 = {'章鱼' :75  ,'包子' :54  ,'老大' :65 , '芦荟' :47  }
weight2 = {'包子' :54 ,'章鱼' :75 , '芦荟' :47  ,'老大' :65  }
print (weight1 == weight2) --------------------------------------> True
  • 调动字典中的数据顺序不影响字典本身
1.列表取值依靠的是偏移量,而字典取值依靠的是键
(1) 共同点 :
0. 字典和列表都可以通过赋值语句来修改其中的元素

注意:修改元素就是用新的元素来代替要更替的元素(不同于增加元素)

e.g:
surprise =  [ '小猪'  ,'芦荟' ,'包子' ,'章鱼' ]
surprise =  [ '黑米烧麦' ]
print ( surprise ) ------------->  '黑米烧麦' 
e.g:
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47  }
weight ['章鱼'] = 70
print ( weight ) ------------------>'章鱼' :70 ,'包子' :54 ,'老大' :65 , '芦荟' :47  

注意

  • 需要修改的元素的主键不能写错(如:少空格、少标点都会导致程序识别成增加命令)
  • 修改字典中的元素直接修改元素的主键
1.字典和列表都支持任意嵌套(即:字典可以嵌套字典和列表,列表也可以嵌套字典和列表)

<.0.>:列表嵌套列表

e.g: 从嵌套列表中取出元素
surprise = [ [ '小猪' ,'芦荟' ],['包子' ,'章鱼' ]]
print (surprise[0][0]) ------------------------> '小猪'

注意:大嵌套内的列表之间不要忘记加逗号
<.1.>: 字典嵌套字典

e.g:从嵌套字典中取出元素
weight = {
        '第一队': {'章鱼' :75 ,'包子' :54 }
        '第二队':  {'老大' :65 ,'芦荟' :47 }
         }
print (['第一队']['老大'])    ---------------------------------------> 65

<.2.>: 列表嵌套字典

e.g:从“列字”嵌套中取出元素
weight = [     {'章鱼' :75 ,'包子' :54 } ,
               {'老大' :65 ,'芦荟' :47 }
         ]
print (weight[1]['老大'])  ------------------------------------->65
  • 最外面是中括号,里面是大括号,所以是列表嵌套字典
  • {‘章鱼’ :75 ,‘包子’ :54 } 、{‘老大’ :65 ,‘芦荟’ :47 } 既是列表的元素,也是列表嵌套的两个字典
  • 利用列表的偏移量来区别两个字典(本质

<.3.>: 字典中嵌套列表

e.g:从“字列”嵌套中取出元素
surprise = {
'第一队':['包子' ,'章鱼' ] ,
'第二队':['小猪' ,'芦荟']
}
print(students['第一队'][0]) ---------------------> '包子'
  • 最外面是大括号里面是中括号,所以是字典嵌套列表
  • “键”分别是:‘第一队’ 、‘第二队’
  • [‘包子’ ,‘章鱼’ ]、[‘小猪’ ,‘芦荟’] 既是字典的键所对应的值,也是字典所嵌套的两个列表
  • 利用字典的键来区别两个列表(本质

NUM9.循环

(0) 概念描述:把一件事情执行很多遍
  • 原理:代码中的【循环语句】,能够让计算机重复地、自动地执行指令
(1)循环语句:
0. for…in…循环语句(简称for循环)

<.0.> 结构:

摘自风变编程

  • 形象化的翻译(代码结构):i 依次代表了列表中的每个元素

  • 列表中的元素是需要被执行的数据

  • 执行语句的结果就是依次打印出 i 元素的运算结果

    类比---------->办理业务:
    摘自风变编程
    注意:空房间、一群等待办业务的人、业务流程 是for循环的3个要点

<.1.> 变量元素【item】(空房间):

  • 每一个变量都需要一个名字,即 “变量名”

  • “变量名” 没有固定的指定 ,因为英文是item ,所以常用 i 来作为

  • 当房子里的所有变量打印出来之后,继续打印的i为最后一个元素
    e.g :

    for i in ['小猪'  ,'芦荟','包子' ,'章鱼']:
        print ( i )
        print (i)
    --------------->小猪  芦荟  包子  章鱼   章鱼
    

注意
0. for循环后面要跟冒号 “ :”
1. 列表后的 in 也可以接字典
e.g :

baozi = { '包子': '章鱼' , '老大':'芦荟' }
for i in baozi :
    print (i)    --------------------------->   包子  老大
  • 字典循环打印出字典中的每一个键

<.2.> 循环对象(一群排队等业务的人)

  • 单独的字符串也属于"一群排队等业务的人"

e.g :

baozi = '老大'
for i in baozi :
    print (i) --------------------> 老大
  • 单独的整数、浮点数不属于,不可以参加循环

  • for循环的实质 是一种 遍历数据结构 的行为
    遍历:从第一个元素开始,依次循环完成所有的元素的过程,在python中就叫遍历。

  • 除了遍历 字符串、字典、列表,还可以遍历其他数据集合
    range()函数经常与 for循环搭配使用
    e.g :

    for i in range (3) :
        print (i)   ----------------------> 0 1 2 
    
  • range (x) 即是生成 一个从0x-1的整数序列 (适用于:将某一指令重复x遍)

    for i in range (3):
        print('卿本奈何最可爱(*╹▽╹*)')  
    
    ------------>  本奈何最可爱(*╹▽╹*)   卿本奈何最可爱(*╹▽╹*)   卿本奈何最可爱(*╹▽╹*)      
    
  • range (a,b) 即是生成一个从ab-1【取头不取尾】的整数序列(适用于:指令中含有变化的整数)
    e.g :

    for i in range (0,5):
        print (i)   ------------------------>  0  1  2  3  4
    

    e.g :

    for i in range(1,4):
        print('卿本奈何不在的第'+'str(i)'+'天,想她~')  --------------->
    
    卿本奈何不在的第一天,想她~
    卿本奈何不在的第二天,想她~
    卿本奈何不在的第三天,想她~  
    
  • range(a,b,c) 即是生成一个ab-1间隔为c个的整数序列
    e.g :

    for i in range (0,5,2):
        print (i)   ------------------------>  0  2  4
    

<.3.> for 循环子句 (办事流程)

  • 办事流程即是 for循环的子句 ,冒号后转行写的命令
  • 因为和for循环的主句构成从属关系,不要忘记缩进
1. while 循环语句

<.0.> 结构 :

摘自风变编程

  • 形象化的翻译(代码结构):先定义一个变量a ,并赋上初值 0
  • 当变量满足 while 语句的“通关条件”时,变量a执行赋值语句
  • 打印出赋值后变量的值,直到变量不满足 while 语句的条件,则该循环结束

类比按流程办事

摘自风变编程

注意: 放行条件和办事流程是 while 循环的个要点

<.1.> while 语句条件(放行条件)

  • 和 for 循环一样,while后面要跟冒号while 的子句要有缩进
    摘自风变编程

  • while 在英语中是 “当…时侯” , 即是:当满足判别条件时,执行下面的子句命令

  • 类比哨卡:当条件符合(a<5)的时候,放行并执行下面的语句(a=a+1 print(a) ),一直符合条件一直执行;一旦条件不符合,就终止循环
    <.2.> while 语句子句(办事流程)

  • 当while语句满足判别条件的时候,执行语句子句

  • 注意:缩进后的while子句才属于办事流程
    e.g :

    b = 8  
    while b > 5 :
         b = b -1
         print (b)    ---------------------> 7 6 5
    

    此时print()算是办事流程的一部分
    e.g :

    c = 0
    while c < 5:
        c= c+1
    print (c)        ------------------------->5
    
(2) for 循环与 while 循环对比
0. 适用场合:for循环 在工作量确定(大概知道要循环多少遍)的情况下适用;while 循环在工作量不确定(循环的次数是随机的、不固定的)的情况下适用

e.g :
把 ‘醉里拈花’ 依次打印出来:

for  i in ['醉','里','拈','花'] :
  print (i)
  ------------------------------------------->醉  里  拈  花

e.g :
进入房间的密码是 ‘醉里拈花’ ,只有输入正确才能进入房间

password = ''
while password !='醉里拈花' :
  password = input ('请输入进入房间的密码(只有正确的密码才能进入房间):\n')
print ('您输入的密码正确,欢迎小主人回来!!!')
---------------------------------------------------------------->


请输入进入房间的密码(只有正确的密码才能进入房间):
zuili
请输入进入房间的密码(只有正确的密码才能进入房间):
醉里拈花
您输入的密码正确,欢迎小主人回来!!!

对于把一件重复 n遍,原则上:既可以用 for循环,也可以用 while 循环 ,相对来说:for循环更加简洁一点

1. 总结:

摘自风变编程

(3) 布尔值:用数据做判断
0. 概念:计算机逻辑判断的结果(只有两种:“真”、“假”)就是布尔值,而这个逻辑判断的过程就是“布尔运算”

e.g :

print (3>5)  -------------> False
print (8>2)  -------------> True
print ('金陵'=='金陵') -----------> True
print ('金陵' !='长安') -----------> True
1.条件判断中的应用:if、while 的判断条件为真的时候,才会执行循环语句

e.g :

while False:
   print('while False')  ------------------> 什么都不会出现

当条件判断为假时,就永远不会执行循环,因此永远不会打印出语句;相反地,当条件判断永远为真的时候,就永远的打印出语句,需要手动强制退出

2. 总结

摘自风变编程

(4) 布尔运算的三种方式
0. 两个数值作比较:

类似于前面while(3>5)中,3>5的判断

摘自风变编程
注意:= 和 = = 要区分开来, = = 表示相等,= 表示赋值语句

1. 直接用数值做运算:
e.g:
if 5 :
  print ('醉里拈花')  -----------> 醉里拈花

这里直接将单纯一个整数当作一个判断条件

类似的,python中将一些数据的值固定的设置为TRUE,FALSE:
摘自风变编程
注意:None 是指NoneType 类型,是空值;并不等于整数 0,整数0 也并非什么都没有

2. 布尔值之间的各种运算

<.0.> : ’ and ’ 运算 :当两个条件都为真的时候,才能判断为真
<.1.> : ’ or ’ 运算 :当满足一个条件为真的时候,就能判断为真
<.2.> : ’ not ’ 运算:表示翻转,当条件为真时,判断结果就是假
<.3.> : ‘ not in ’ 运算:与 in 运算相反
<.4.> : ’ in ’ 运算:判断元素存不存在列表、字典之中

e.g : 在列表中判断

list1 =['醉','里','拈','花']
print (bool('醉' in list1))    ---------->True

list1 =['醉''里''拈''花']
print (bool('醉' in list1))   -------------->False

注意:不加逗号隔开时,这四个字其实代表一个字符串,是一个整体;“醉”不等于一个整体,因此报错

e.g : 在字典中判断

dict1={'醉':'醉卧沙场君莫笑','花':'云想衣裳花想容'}
c='花'
print(bool(c in dict1))    ---------> True
3. 三种方式对比总结

摘自风变编程

摘自风变编程
摘自风变编程

(5) 四种可以与while、for循环搭配的语句
0. break 语句:用来结束循环
e.g : if … : break ( 当满足if 条件时,就提前停止循环)

摘自风变编程

注意:if … : break ,属于内部循环,只能用于循环内部

e.g:

while 1:
      print('一生一世一双人')
      q=input("'醉里拈花'和'assassin'还可以牵手吗?\n")
      if q=='不可以':
        break
    print('一别两宽,各自江湖') 
------------------------------------ 运行过程--------------------------
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
可以
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
好
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
不可以
一别两宽,各自江湖
  • break 结束内部循环,然后开始外部的命令
  • break 属于 if 的子命令,break单独成行,也是要有缩进
1. continue 语句 : 用来跳过循环
e.g: if… : continue (当某个条件满足时,执行continue,则跳过后面的循环,直接回到循环的开始)

摘自风变编程

注意:if … : continue 是内循环,只能用在循环内部
e.g :
while 1:
    q1=input('醉里拈花想考哪所大学?')
    if q1!='上海交通大学':
        continue
    q2=input('醉里拈花的老大外号叫啥?')
    if q2!='豆沙包':
        continue
    q3=input('醉里拈花的前男友姓啥?')  
    if q3=='徐':
        break
print('恭喜你,通过测试,你是醉里拈花的铁杆哥们儿*o*')
---------
------------------------------------------------------------
------------------------------运行过程--------------------------------
---------------------------------------------------------------------
醉里拈花想考哪所大学?南京理工大学
醉里拈花想考哪所大学?上海交通大学
醉里拈花的老大外号叫啥?小猪
醉里拈花想考哪所大学?上海交通大学
醉里拈花的老大外号叫啥?豆沙包
醉里拈花的前男友姓啥?徐
恭喜你,通过测试,你是醉里拈花的铁杆哥们儿*o*
  • 当某个条件为真时,continue回到循环的开始,并不运行下面的代码
2. pass语句:跳过
e.g : if … pass
name = input('请输入博主的名字:')
if name ='醉里拈花'
   pass
elseprint('请重新输入!!!')



  • 如果不写 pass ,该语句会报错
3. else 语句:
e.g: 在for 循环中
for i in range(3):
    a=int(input('请输入0来结束循环,你有三次机会'))
    if a == 0:
        print('您输入的是0,循环已经被终止了')
        break
else :
    print('三次机会已经用完')
--------------------------------运行过程--------------------------------
请输入0来结束循环,你有三次机会3
请输入0来结束循环,你有三次机会0
您输入的是0,循环已经被终止了
  • 当循环中没有碰到break,就执行与循环并列的 else语句
eg :在while循环中也一样

摘自风变编程

  • 注意: 此时,else跟while对齐,并不跟if对齐
4. 总结四种常用于循环的语句

摘自风变编程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值