python的第四节课笔记(基础入门)
 
for循环: for循环语法结构: 1 2 for 循环变量 in 序列:     循环体里面要执行的代码块 
 
注意:
循环次数:由序列长度决定 
循环内容:由循环体里面的具体代码决定 
 
查看序列长度的函数:
1 2 str2 = "xieqian cecb470"  print (len (str2))   
 
当循环序列为字符串时: 1 2 3 str1 = "hi class15"  for  i in  str1:print ("KaiChao" )  
 
注意:
KaiChao被打印了10遍—-str1的长度刚好为10 
循环次数与序列(可迭代对象)长度一致 
i 是循环变量(既然是变量,只要符合命名规则可以随意更改) 
 
当循环序列为可迭代对象时: for 循环 遍历的必须是一个可迭代对象,在Python的六大基础数据类型当中,表现为序列结构
字符串 ,列表, 元组。 
数值?—>不是序列结构,不是可迭代对象 解决:有没有数值的可迭代对象?—–> range()函数
 
注意:
range()函数   左闭右开区间,结束位要+1 
range(n,m) 就可以生成 n ~ m 之间的正数可迭代对象 
range(起始,结束,步长) 
 
1 2 3 num = range (1 , 11 ) for  i in  num:    print (i)   
 
需求:生成 1~100的偶数---->2的倍数--->能够被2整除 
1 2 3 4 5 for  i in  range (1 , 101 ):         if  i % 2  == 0 :            print (i) 
 
1 2 3 4 for  i in  range (2 ,101 , 2 ):         print (i) 
 
for 嵌套: 首先执行外层循环第一遍,内层循环结束,开始外层循环第二遍。 
用while循环实现:
1 2 3 4 5 6 7 week = 1    while  week <= 4 :    day = 1        while  day <= 7 :         print (f"第{week} 周,第{day} 天" )         day += 1        week += 1    
 
用for循环实现:
1 2 3 for  week in  range (1 , 5 ):      for  day in  range (1 , 8 ):           print (f"第{week} 周,第{day} 天" ) 
 
列表 : 语法结构: 
cls15 = [“Guf”, “dy”, “sj”, [“lh”, “Gaof”], 18]
1 2 3 4 5 6 a = ["lh" , "Gaof" ]   cls14 = ["Guf" , "dy" , "sj" , a, 18 ] cls15 = ["Guf" , "dy" , "sj" , ["lh" , "Gaof" ], 18 ] print (type (cls15))  print (len (cls14))  print (len (cls15))  
 
注意:
列表也叫 list 
使用中括号进行包裹,元素与元素之间使用逗号进行隔开 
列表里面的值(元素),可以是任意的数据类型 
列表里面的列表或者元组、字典、集合,都要看成一个整体 
 
强制转换:字符串—>列表
语法 
解释 
 
 
list(序列) 
会将序列里面的每一个元素都进行拆分 
 
1 2 3 list2 = list ("suntao" ) print (type (list2))print (list2)
 
运行结果为:
列表索引  : 
1 2 3 4 5 6 7 cls15 = ["Guf" , "dy" , "sj" , ["lh" , "Gaof" ], 18 ] print (cls15[0 ])    print (cls15[-1 ])    print (cls15[2 : 5 ])    li = cls15[3 ] print (li[1 ])      print (cls15[3 ][0 ])  
 
列表的增加: 
语法 
解释 
 
 
list.append(元素) 
在列表末尾添加元素 
 
list.insert(索引,元素) 
指定位置添加 
 
list.extent(序列) 
添加多个 
 
1 2 3 4 cls15 = ["晓军董事" , "落落经理" , "大侠人事" , "达龙搬砖人" ] cls15.append("韩摸鱼" ) cls15.append("咯摸鱼" ) print (cls15)     
 
1 2 3 4 cls15 = ["晓军董事" , "落落经理" , "大侠人事" , "达龙搬砖人" ] cls15.insert(1 , "搞钱小秘书" ) print (cls15)       
 
1 2 3 4 5 6 7 cls15 = ["晓军董事" , "落落经理" , "大侠人事" , "达龙搬砖人" ] li2 = ["周密" , "永强" , "熠钟" , "文豪" ] cls15.extend(li2)   cls15.append(li2)   print (cls15)
 
列表查找: 
语法 
解释 
 
 
”元素1“ in 列表名 
判断是否在序列里面 
 
”元素1“ not in 列表名 
判断是否不在序列里面 
 
1 2 3 4 big_cls15 =['晓军董事' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] print ("晓军"  in  big_cls15)  print ("晓军董事"  in  big_cls15)  print ("王老五"  in  big_cls15)  
 
列表的修改: 思路:修改需要先找到再修改,查找这个动作通过索引,修改这个动作通过变量名重复,新值覆盖旧值 
1 2 3 4 5 big_cls15 =['晓军董事' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] xj = big_cls15[0 ] xj = "晓军董事长"  print (xj)
 
或者:
1 2 3 4 big_cls15 =['晓军董事' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] big_cls15[0 ] = "晓军董事长"  print (big_cls15)
 
列表的删除: 
语法 
解释 
 
 
list.pop() 
默认删除最后一位 
 
list.pop(索引) 
指定索引删除 
 
list.remove() 
指定元素删除 
 
list.clear() 
清空列表里面的元素,列表存在 
 
del list 
删除列表对象,列表不存在 
 
1 2 3 4 big_cls15 =['晓军董事长' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] big_cls15.pop()    print (big_cls15)
 
1 2 3 big_cls15 =['晓军董事长' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] big_cls15.pop(-2 )   print (big_cls15)
 
1 2 3 big_cls15 =['晓军董事长' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] big_cls15.remove("韩摸鱼" )    print (big_cls15)
 
1 2 3 big_cls15 =['晓军董事长' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] big_cls15.clear()     print (big_cls15)
 
1 2 3 big_cls15 =['晓军董事长' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' , '韩摸鱼' , '咯摸鱼' , '周密' , '永强' , '熠钟' , '文豪' ] del  big_cls15print (big_cls15)   
 
列表推导式: [要添加到列表里面的元素  for  循环变量  in  可迭代对象  if  条件] 
1 2 3 4 li = [] for  i in  range (1 , 10 ):    li.append(i) print (li)    
 
1 2 3 li2 = [i for  i in  range (1 , 10 ) if  i % 2  == 1 ] print (li2)    
 
其他方法: 
语法 
解释 
 
 
count(元素) 
计算元素个数 
 
reverse() 
将列表反向并没有反序的功能 
 
sort() 
对列表中元素进行排序,默认就是顺序 
 
1 2 3 4 li4 = [60 , 70 , 80 , 90 , 100 , 60 , 60 , 80 , 80 ] print (li4.count(60 ))  print (li4.count(70 ))   print (li4.count(80 ))    
 
1 2 3 4 li4 = ['晓军董事' , '搞钱小秘书' , '落落经理' , '大侠人事' , '达龙搬砖人' ] print (li4.reverse())  print (li4)  
 
运行结果为:
1 2 3 4 li4 = [60 , 70 , 80 , 90 , 100 , 60 , 60 , 80 , 80 ] print (li4.sort())  print (li4)    
 
运行结果为:
1 2 3 4 li4 = [60 , 70 , 80 , 90 , 100 , 60 , 60 , 80 , 80 ] li4.sort(reverse=False )   print (li4)
 
元组 : 语法结构: 
tu = (1, 2, 3, 4)
1 2 3 4 5 6 7 tu = (1 , 2 , 3 , 4 ) print (type (tu))    li = [1 , 2 , 3 , 4 ] li1 = tuple (li) print (li1)    print (type (li1))    
 
注意:
元组也叫 tuple 
元组:类似列表,不同之处在于元组的元素不可修改,元组使用小括号包含元素 
元组叫不可变的序列结构,或者说叫不可变的列表 
强制转换:字符串—>列表与字符串—>元组,唯一的区别就是[]变成了() 
单个元素一定要加上逗号 
 
1 2 3 4 tu1 = ("Y" ) print (type (tu1))   tu2 = () print (type (tu2))    
 
1 2 3 4 tu1 = ("Y" ,)   print (type (tu1))   tu2 = tuple () print (type (tu2))    
 
元组拆包: 拆包:元组可以同时赋值给多个变量,只要变量个数不超过元组长度,变量前面加上* 号则可以将多于元素都接受,并返回一个列表     
1 2 3 tu = (1 , 2 , 3 , 4 , 5 , 6 ) a, b, c = tu print (a, b, c)  
 
1 2 3 4 5 6 7 8 9 10 11 tu = (1 , 2 , 3 , 4 , 5 , 6 ) a, b, *c = tu   print (a, b, c)    a, *b, c = tu print (a, b, c)    *a, b, c = tu print (a, b, c)