目录
- for循环/字符串/列表
- 1for定义
- 意义
- for与break
- for-else悬挂 break
- 字符串
- 创建字符串,空格也算是一个字符
- 下标访问字符串字符
- 切片,
- 字符串操作
- 查找
- 计数
- 开头结尾
- 列表
- 定义
- 增加
- 删除
- 改
- 查
- 嵌套列表
for循环/字符串/列表
1for定义
for item in iteration:
pass
s = 'hello world'
for i in s:
print(i)
意义
item 是一个临时变量,每遍历一个成员就会被重新赋值
对对象的每一个成员,一个一个取出来,进行操作,而且自动捕获stop
for与break
s = 'hello world'
for i in s:
if i == 'o':
break
print(i)
for-else悬挂 break
for正常执行完成,就会执行else,被braek打断就不会执行else
else不属于循环当中,所以不能使用break continue
name = 'monday'
for i in name:
if i == 'd':
print('出现d')
break
else:
print('没有出现d')
字符串
创建字符串,空格也算是一个字符
'' "" 三引号
下标访问字符串字符
正向从0开始,到len -1
反向从-1开始,到-len
s3 = 'sadasfafadf'
print(s3[10])
print(s3[-1])
print(s3[-4])
下标不能超过字符串的长度减1 len() - 1,超过就会引发indexError
反向不能小于-len
print(s3[20])
切片,
步长(表示方向与取值长度)正向切片 0开始,到len-1,反向 -1 开始,到 -len
技巧:
先看步长,是正,从左到右,是负数,从右到左
start --> end 的方向一定要和step的方向一致
特殊切片:
不写开头表示从0开始,不写结束表示到最后
s3 = 'sadasfafadf'
print(s3[10])
# print(s3[20]) # 超出报错
print(s3[-1]) # 最后一个
print(s3[-4])
print(s3[0:3])
print(s3[1:3])
print(s3[1:8:2])
print(s3[0:])
print(s3[2:])
print(s3[:])
print(s3[-3:-7:-1])
# print(s3[-3:-7])
print(s3[-7:-3:2]) # 一般不这样写(步长为正,start end直接)
print(s3[-1:-7:-2])
print(s3[::-1])
print(s3[0:-1])
字符串操作
查找
.find()
.rfind()
.index()
.rindex()
s = 'hello world'
print(s.find('o')) # 4
print(s.rfind('o')) # 从右找,但是序号从左计数
print(s.index('l')) # 2
print(s.rindex('l')) # 9
计数
.count()
print(s.count('o'))
开头结尾
.startswith()
.endswith()
print(s.startswith('hello')) # True
print(s.endswith('ld')) # True
长度
len()
print(len(s)) # 11
列表
定义
lst = []
lst = list()
lst = [1, 2, 3]
特点:有序,下标访问,存储任何的数据类型
增加
.append() 只能是一个参数
.insert(index, value) 指定index位置index插入
.extend(iter) 传入一个可迭代对象
# lst1 = [1, 2, 3, 4, 5]
lst1 = [i for i in range(1, 6)] # 一般列表创建可以使用
lst1.append(6)
lst1.insert(2, 10)
lst1.extend([9, 9, 9])
print(lst1)
删除
.pop()
.pop(index) # 涉及到index与value都要考虑是否超出与没有该值的情况
.remove(value)
# del删除
lst2 = ['name', 'age', 'length', 'good', 'boy', 'love']
del lst2[0]
print(lst2)
# pop() 有返回值
remove_value = lst2.pop()
print(remove_value, lst2, '******')
# pop(index)
remove_value1 = lst2.pop(1)
print(remove_value1, lst2, '++++++')
# remove()
print(lst2.remove('boy')) # 不能删除没有的值,而且没有返回值
改
主要是通过索引来改
lst[index] = newValue
查
lst[index],for 循环
嵌套列表
多维列表(一般二维三维)
lst = [[], [], [], []]
增删改查:原则
1。找到对象
2。利用下标
有10个球分别3红、3蓝、4白,现需要将这10个球随机放入这3个盒子,要求每个盒子至少有一个白球,请用程序实现
import random
lst = [[], [], []]
s = ['r', 'r', 'r', 'b', 'b', 'b', 'w']
# 初始化,保证每个里面有一个w
for i in lst:
i.append('w')
print(lst)
# 然后就是随便添加进去
for item in s:
index = random.randint(0, 2)
lst[index].append(item)
print(lst)