一.for循环
重要概念:
在编程语言中,有一个叫下标/索引
下标/索引:
1.python中,字符串,列表,元组都是属于序列类型,可以从左到右取值,搭配括号,加下标/索引
2.从左到右 索引从0开始
3.从右到左,是负索引,从-1开始
4.索引可以进行范围取值:[起始值:结束值],能够取到起始值和结束值前一个
# 012345678910
s = 'hello world'
print(t[0:4]) 打印出来是0123
2.for循环
for:用于循环迭代
in:用于检查一个值是否存在序列中
s:序列类型/可迭代对象
i:循环变量 所取名字不一定要叫i
for循环可将迭代对象里面的元素依次取出赋值给循环变量,然后执行循环语句,元素取出,循环结束
# 依次取出s字符串中的每一个字符
s = 'hello world'
a = 0
while a <11:
print(s[a])
a = a + 1
s = 'hello world'
# for 循环
for i in s :
print(i)
#依次打印0到100的所有数字
s = 100
#for循环
#range 生成一个数字序列
for i in range(1, 10): if i == 5: print('循环太多了') break # 终止循环 只能在循环中使用 continue # 跳过当前循环 不会影响后续循环运转 print(f'这是第{i}次循环') # print('这是我的第'+str(i)+'次循环')
range内置函数 生成一个数字序列 传入参数 都不会取到最后一个数 传入一个参数 默认是从0开始 参入两个参数 包前不包后 左闭右开 传入三个参数 步长
二.列表
列表python 六大基础数据类型之一 创建空列表 li = list() li = [] 列表中,几乎 能存储python的所有类型
x = '东' y = 678 li = [1,3.14,'dl',[1,2],x,y] print(li[3]) for ras in li: print(ras) # 列表的查找 如果超过了索引长度则报错 # print(li[15]) IndexError: list index out of range # 通过值获取索引位置 # print(li.index('dl')) # 范围查找 # print(li[0:3]) # print(li[0:100]) # 超过长度 不会报错 会取出所有数据 # print(li[2][1]) # 第二个索引中的第一个下标 # 增加 # li = [1,3.14,'dl',[1,2],x,y] # # append 默认添加到列表的末尾 # li.append(99) # print(li) # # # 在指定索引添加指定元素 # li.insert(3,'abc') # print(li) # # # 将另外一个列表中元素逐一添加到当前列表 # li.extend([1,333,'mvp']) # print(li) # # # 列表和列表能够直接相加,得到一个新的列表 # li1 = ['a','b','c'] # li2 = [1,2,3] # li3 = li1 + li2 # print(li3) # # # 修改 # li = [1,3.14,'dl',[1,2],x,y] # # 直接利用索引取值 进行替换 # li[2] = 'ddd' # print(li) # # # 删除 # li = [1,3.14,'dl',[1,2],x,y] # # 默认移除最后一位 # li.pop() # print(li) # # 指定索引位置删除 # li.pop(3) # print(li) # # 指定元素删除 # li.remove(3.14) # # # # 关键字 配合切片进行范围删除 # del li[2:5] # print(li) # # # # 清空整个列表 # li.clear() # print(li) # # # # 重新赋值达到清空的效果,会改变内存地址 # print(li,id(li)) # li = [] # print(li,id(li)) # # # # 列表的其他方法 # # 浅复制/浅拷贝 # li1 = [1,37,3,5,4,10,9,9,76] # li2 = li1.copy() # print(li2) # # # # 统计元素个数 # print(li1.count(3)) # # # 永久排序 会对源列表操作 # li1.sort() # print(li1) # 数字和列表不能同时运行此操作 # # # 临时排序 会生成一个新的排序好的列表 # li2 = sorted(li1) # print(li2) # print(li1) # # # 反向 # li1.reverse() # print(li1) # # 反向排序 # li3 = sorted(li1, reverse=True) # print(li3) # 列表推导式 li = [] for i in range(101): if i % 2 == 0: li.append(i) li = [i for i in range(101) if i % 2 == 0] print(li)
三.元组
元组 序列类型 tuple() tu() 表现形式 特别需要注意的是 如果元组里只有一个数据 必须加一个逗号 tu = (1,) 元组的操作,我们可以先把元组转成列表操作完了,再转回元组即可 元组和列表的差别 在于列表可变,元组不可变 拆包:元组可以同时给多个变量赋值,只要变量个数不超过元组长度
tu = (1,) print(tu,type(tu)) # 元组拆包 tu = ('dl',18,180) name,age,height = tu print(name) print(age) print(height)