for+range配合使用,切片的使用
各知识点内容补充
- for,range()循环
- 在for,range()循环内任意地方加break,continue
- 循环中出现break,是跳出当前循环后,还会运行之后的代码
- 在for,range()循环中可以嵌套for,range()循环
- for,range(a,b,c)循环 a代表起始值可取,b是终止值不可取,c代表步长,当a<b时,为正续,正续时c不写默认为1,如果c取值代表步长;当a>b时,为倒叙,倒叙时c为负数,必须写出,-1代表步长为1
#示例 flag=False for i in range(1,10): print(i) if flag: break for i in range(10,20): print(i) flag=True break
- 字符串格式化:字符可以用变量替代,百分号后面的括号内元素要用逗号隔开,即使只有一个元素也要加逗号
1 tpl = "我叫%sfdf" 2 a = tpl %('骑兵',) 3 b= tpl %('步兵',) 4 print(a)
- 变量名称:变量名称不要使用python中已经使用的变量:list,str,tuple,dict,bool,int
- 运算符中的 in 运算
- 查看'xxx'是否在字符串a,在列表a,在字典a的键中: b='xxx' in a #输出b:True/False
- 删除列表,删除字典中的元素时,不能用循环索引出元素进行删除,这样做会影响列表长度,从而报错,可以通过引进新的列表或字典,把需要的值加入新的列表或字典中
注:不要在循环当前字典的过程中,修改当前字典大小
#示例 #删除列表中索引为奇数位的元素 li=[11,22,33,44,55,66] #方法1:通过新增列表进行取值 new_li=[] for i in range(0:len(li)): if i%2==0: new_li.append(li[i]) li=new_li print(li) #方法2:用range()倒叙的方法,因为倒叙删除不会影响列表的索引序号 for i in range(len(li)-1,-1,-1): if i%2==1: del li(i) print(li)
- 通过切片+步长,删除列表中的元素:del li[a:b:c] #删除列表li索引位为a到b-1中,步长为c的数
#示例
li = [11, 22, 33, 44, 66] del li[0:len(li):2] print(li) #输出:[11,33,66]
- 索引 v[a:b:c] a代表起始值可取,b是终止值不可取,c代表步长,当a<b时,为正续,正续时c不写默认为1,如果c取值代表步长;当a>b时,为倒叙,倒叙时c为负数,必须写出,-1代表步长为1
- tuple 当元祖内只有一个元素a时,也要用逗号隔开,即v=(a,),否则容易报错
- list与tuple与字符串相互转换
- 字符串,tuple ==>list list('aaa') #print:['a', 'a', 'a'] ; list(('a','a','a'))=#print:['a', 'a', 'a']
- 字符串,list ==>tuple tuple('aaa') #print:('a', 'a', 'a') ; tuple(['a','a','a'])=#print:['a', 'a', 'a']
- list,tuple ==>str
- 布尔值:False: 0 , [] ,{}, (), None