赞
踩
正向:for 变量名 in 列表名:
变量名就是元素
反向:for 索引名 in range(len(列表名)-1,-1,-1):
列表名[索引名] 就是元素
一般是获取反向的下标进行逆向。
【一般不通过切片完成,效率偏低,切片要重新创建一个列表】
- list1=["苹果", "香蕉", "西瓜", "草莓", "哈密瓜", "蓝莓"]
- for i in range(len(list1)-1):
- print(list1[i])
-
- # 苹果
- # 香蕉
- # 西瓜
- # 草莓
- # 哈密瓜
- # 蓝莓
-
- for i in list1:
- print(i)
-
- # 苹果
- # 香蕉
- # 西瓜
- # 草莓
- # 哈密瓜
- # 蓝莓
-
- for j in range(len(list1)-1,-1,-1):
- print(list1[j])
-
- # 蓝莓
- # 哈密瓜
- # 草莓
- # 西瓜
- # 香蕉
- # 苹果
使用简易方法,将可迭代对象转换为列表。
变量 = [表达式 for 变量 in 可迭代对象]
变量 = [表达式 for 变量 in 可迭代对象 if 条件]
【如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。】
-
- li=[i for i in range(10)]
- print(li)
- li1=[i for i in range(10) if i%2==0]
- print(li1)
- li2=[f"_犬少-{i}号" for i in range(10) if i%2==0]
- print(li2)
-
- # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- # [0, 2, 4, 6, 8]
- # ['_犬少-0号', '_犬少-2号', '_犬少-4号', '_犬少-6号', '_犬少-8号']
变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in 可迭代对象2]
- list1=["犬","少"]
- list2=["加","油"]
- result = [r + c for r in list1 for c in list2]
- print(result)
-
- # ['犬加', '犬油', '少加', '少油']
浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。
深拷贝:复制整个依赖的变量。
import copy
- import copy
- li1=[1,2,2,3,["犬少"]]
- li2=li1.copy()
- li2[4].append("加油")
- print(li1)
- print(li2)
- li3=copy.deepcopy(li1)
- li3[4].append("冲鸭")
- print(li1)
- print(li3)
-
- # [1, 2, 2, 3, ['犬少', '加油']]
- # [1, 2, 2, 3, ['犬少', '加油']] # 浅拷贝 内层地址相同
- # [1, 2, 2, 3, ['犬少', '加油']]
- # [1, 2, 2, 3, ['犬少', '加油', '冲鸭']] # 深拷贝 内层地址不同
is 和 == 的区别
【小数据池:为了提高效率,在分配内存空间地址的时候,采用相同的内存地址】
【int:-5~256,输入的小于-5时,为false ;输入的大于256时,为true (pycharm的缺陷)】
【字符串:""*20,大于20时,为false】
列表结束,不是很难,但很常用,小白还是要多多练习。
【发现有误及时联系】【喜欢记得点赞收藏❤】【欢迎评论补充】
_犬少加油!日更冲鸭!
上期:列表(一)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。