#for循环
#i是代表接收到字符串遍历出来的每一个元素
#'python'是可迭代对象
#循环次数由可迭代对象的的长度
①for i in 'python':
print(i)
#for和range合用 默认从0开始 左闭右开
#range(开始值,结束值)
#range(开始值,结束值,步长)
#range函数只能传入整数
②for i in range(10):
print(i)
查看对象是否是可迭代对象,dir(对象),有'__iter__'就是可迭代对象
#continue、break关键字也可用于for循环
for i in range(20):
if i==10:
continue #break 就只打印0-9
print(i)
else:
print('代码') #for正常循环就会执行else中的代码
#列表推导式:用于快速生成列表
#列表的数据类型是list
li = [ ] #定义空列表
for i in range(10):
li.append(i) #append()追加
print(li)
li = [i for i in range(10) if i%2==0] #列表推导式,和上述代码功能一样,可结合三目运算使用
#列表推导式和三目运算混合使用
li = [ i*100 if i%2==0 else i*10 for i in range(10)]
#len(li)查看长度
#列表
#索引取值从0开始
#负索引是从右往左,从-1开始
#切片 左闭右开
#li[索引开始值:索引结束值:步长]
#切片右边不写,默认切到最后一个元素
#切片左右都不写范围的时候,从头切到尾
li[0:2]
#列表的增删改查
#1.查
li.index(元素)
#2.增
#2.1 末尾添加
li.append(元素)
#2.2 指定位置添加
li.insert(2,333)
#2.3 批量添加 加在列表最后
li.extend(['q','w','e'])
或者li.extend('qwe')
#3. 删除
#3.1 pop默认删除最后一个元素
li.pop()
#3.2 指定位置删除
li.pop(2)
#3.3 remove根据元素名称删除元素
li.remove('a')
#3.4 del批量删除
del li[1:3]
#3.5清空列表元素
li.clear()
#4. 改 赋值语句
#4.1单个元素更改
用下标重新赋值
#4.2批量修改
用切片修改
li[0:3] = 'bbb' 可迭代对象自动遍历
#列表其他方法
#copy()复制列表
#id() 查看id指向,能够通过id指向判断是否为同一个对象
#sort() 列表的排序方法 会改变原列表 同类型才能排序
#reverse()反向,将列表顺序颠倒一下
#li.sort(reverse=True) 反向排序
#count() 统计元素出现的次数
#sorted(li) 临时排序 不改变原列表
#元组 tuple 可以索引取值 可以切片
元组不能替换元素 只可以临时排序
#index方法 根据元素找出索引值
#count() 计数方法
#tu = (1,)元组只有一个元素,也要有逗号
tu = (1,2,3,4,5)
#元组的拆包
a,b,*c = tu
#多余的分给带*号,并且返回的是列表的形式,带*号的是不定长的参数
#*号只能有一个