流程控制之for循环
循环:重复(按照某种规律的)做一件事情
while循环:可以循环一切事物
for循环:提供了一种手段,不依赖索引取值
for 变量名(会拿到容器类元素的每一个值,没有了就结束循环) in(range) 容器类元素:
对于字典,for循环只能拿到key
dic = {'a': 1, 'b': 2, 'c': 3}
count = 0
for i in dic:
# print(i, dic[i])
print(count)
count += 1
for + break中断循环
print('如果没有被break终止我就打印')
for + else(仅作了解):for循环不被break终止就执行else下的代码,否则不执行
数字类型的内置方法
整型int
-
作用:年龄/id
-
定义方式
x = 10 -
使用方法: + - * / % // ** < <= > >= == !=
-
有序or无序(有索引的就有序,无索引的就无序)
其实就没有有序无序一说 -
可变or不可变(值变id不变叫可变,值变id变叫不可变):整型不可变
不可变:
x = 10
print(id(x))
x += 1
print(id(x))
可变:
lt = [1, 2, 3]
print(id(lt))
lt.append(4)
print(lt)
print(id(lt))
浮点型
-
作用: 薪资
-
定义方式
x = 10.1 -
使用方法: + - * / % // ** > >= < <= == !=
-
有序or无序: 压根没有有序无序一说
-
可变or不可变
x = 10.1
print(id(x))
x +=1
print(id(x))
字符串的内置方法
字符串str
-
作用:姓名
-
定义方式
单引号/双引号/三单引号/三双引号 -
使用方法
-
索引
print(s[1])
2. 索引切片
print(s[0:4]) # 顾头不顾尾
print(s[0:4:2]) # 2表示步长,隔一个取一个
print(1, s[4:0:-1]) # +从左到右,-表示从右到左
print(1, s[2:]) # 左边的不写取到最左边,右边的不写取到最右边
3. for循环
for i in s:
print(4, i)
4. 成员运算
print('nick' in s)
print('nick1' not in s) # True
5. strip() # 默认去除两端空格,可以指定去除的字符,可以指定多个字符同时去掉
s1 = 'a nick ******'
# print(s1.strip())
print(s1.strip(' kc*')) # 可以乱序,但是不能没有
6. split() # 切割
s2 = 'nick|123658|180|140'
print(s2.split('|')) # 按照|切割字符串,得到的是一个列表
7. len长度
s1 = 'nick handsome'
print(len(s1))
需要掌握(一周内掌握)
1、lstrip&rstrip
s3 = '**nick**'
print(s3.lstrip('*'))
print(s3.rstrip('*'))
2、lower&upper
s3 = 'Nick'
print(s3.lower()) # 小写
print(s3.upper()) # 大写
3、startswith&endswith
s4 = 'nick handsome'
print(s4.startswith('nick')) # 以。。。开始
print(s4.endswith('some')) # 以。。。结束
4、rsplit
s = 'nick|handsome|180|140|'
01234
print('range(len(s))',range(len(s)))
lt = []
ind = -1
for i in range(len(s)):
if s[i] == '|':
lt.append(s[ind+1:i])
ind = i # ind = 4
print('lt', lt)
print(s.split('|',1))
print(s.rsplit('|',1)) # 从右切割
5、join
s = 'nick|handsome|180|140'
lt = s.split('|')
print(lt)
用*拼接列表内的每一个元素
new_s = ''
for i in lt:
i += '*'
new_s += i
print(new_s)
print('*'.join(lt)) # 使用*拼接列表内的每一个元素
6、replace
s = 'nick handsome'
s = s.replace('nick','nick chen')
print(s)
7、isdigit/isalpha
s = 'a123123'
print(s.isdigit()) # 判断字符串内字符是否都为数字
s = 'askdlfj234'
print(s.isalpha())
了解(看到能够想起来就行)
find|rfind|index|rindex|count
s = 'nick handsome'
print(s.find('h')) # 找索引,-1表示没找到
print(s.rfind('h',6,10))
print(s.index('h'))
print(s.index('sadf')) # 找不到报错
print(s.find('sadf')) # 找不到返回-1
s = 'aaaaacccc'
print(s.count('a'))
center|ljust|rjust|zfill
s = 'nick'
print(s.center(50,'*')) # 居中
print(s.ljust(50,'*'))
print(s.rjust(50,'*'))
s = '111'
print(s.zfill(8))
expandtabs
换行
缩进
s = 'a a'
print(s)
print(s.expandtabs(18))
captalize|swapcase|title
s = 'nickNick handsome'
print(s.capitalize()) # 首字母大写
print(s.swapcase())
print(s.title()) # 每个单词的首字母大写
可变or不可变:不可变
s = 'nick'
print(id(s))
s += 'nick'
print(id(s))
列表的内置方法
- 作用 : 存储多个值
- 定义方式: []用逗号隔开多个元素
- 使用方法
- 优先掌握
1、索引取值/索引修改值
lt = [1, 2, 3, 4]
print(lt[1])
2. 切片
print(lt[:])
print(lt[1:2])
print(lt[1:4:2])
3、for循环
for i in lt:
print(i ** 2)
4. 成员运算
print(1 in lt)
print(5 in lt)
5. len
print(len(lt))
6. append()
lt.append(5)
print(lt)
7. del删除
print(lt)
del lt[0]
print(lt)
需要掌握
insert
lt = [1, 2, 3, 4, 5]
lt.insert(0, 0) # 往前插入
print(lt)
pop:按照索引删除值
lt = [11, 22, 33, 44, 55]
lt.pop(0)
print(lt)
emove:按照值删除值
lt.remove(22)
print(lt)
count:计数
lt = [11, 11, 11, 22]
print(lt.count(11))
index:寻找值的索引
print(lt.index(11)) # 找到了就返回
clear:清空列表
lt = [1, 2, 2, 3]
lt.clear()
print(lt)
copy:拷贝列表
lt = [1, 2, 3, 4]
lt1 = lt.copy()
print(lt1)
extend: 扩展列表
lt1 = [1, 2, 34]
lt2 = [1, 1, 2, ]
lt1.extend(lt2)
print(lt1)
reverse:反转列表
lt = [1, 2, 3, 4]
lt.reverse()
print(lt)
sort
lt = [2, 3, 1, 0, 4]
lt.sort(reverse=True)
print(lt)
-
有序or无序: 有序
-
可变or不可变:可变
lt = [1, 2, 3] print(id(lt)) lt.append(4) print(id(lt))
6、冒泡排序()
lt = [2, 3, 1, 5, 6, 0]
for i in range(len(lt)): # [0,1,2,3,4,5]
for j in range(len(lt)): # [0,1,2,3,4,5]
if lt[i] > lt[j]:
lt[i], lt[j] = lt[j], lt[i]
print(lt)
'''
i = 0 j = 0 2 > 2
i = 0 j = 1 2 > 3
i = 0 j = 2 2 > 1 [1, 3, 2, 5, 6, 0]
i = 0 j = 3 1 > 5
i = 0 j = 4 1 > 6
i = 0 j = 5 1 > 0 [0, 3, 2, 5, 6, 1]
i = 1 j = 0 3 > 0 [3, 0, 2, 5, 6, 1]
i = 1 j = 1 0 > 0
i = 1 j = 2 0 > 2
i = 1 j = 3 0 > 5
i = 1 j = 4 0 > 6
i = 1 j = 5 0 > 1
i = 2 j = 0 2 > 3
i = 2 j = 1 2 > 0 [3, 2, 5, 6, 1, 5]
i = 2 j = 2 0 > 0
'''