Python-Day02-列表2
来源:互联网 发布:淘宝视频教程全集 编辑:程序博客网 时间:2024/06/02 02:35
Python的列表使用2:
1.列表中放入列表:
names = ["Jane","Nike",["wiiknow","ZYQ"],"Mike","kenvie","Apple"] #列表中插入列表print(names) #结果:['Jane', 'Nike', ['wiiknow', 'ZYQ'], 'Mike', 'kenvie', 'Apple']print(names[2][0]) #通过names[2][0]获取:wiiknow的位置,类似于二维列表 结果:"wiiknow"#切入操作print(names[0:-1:2]) #含义:从0到-1,每两个输出一个,结果:['Jane', ['wiiknow', 'ZYQ'], 'kenvie']print(names[::2]) #因为0可以省略,所以跟上面结果一样 结果:['Jane', ['wiiknow', 'ZYQ'], 'kenvie']
2.浅复制和深复制
当列表中含义子列表时,会出现浅copy和深copy的说法:
浅copy:
复制一个列表给新的列表,当任何一个列表里的子列表有任何改动时,所有列表里的子列表都会更新;
原因:表复制时,当出现子列表,并不是复制其中的值给予新列表,而是把该子列表的内存地址赋予新列表,
所以任何一个列表改动子列表时,实际是直接在该内存直接改值。
浅copy有三种方法:
1.使用copy库中的copy函数
2.直接等于,并指定序列号
3.使用list方法
import copy #需导入copy库person = ["Name",["saving",100]]#浅复制:person2 = copy.copy(person)person3 = person[:] #[:] 表示提取person集合中的所有元素person4 = list(person)print("person2:",person2)print("person3:",person3)print("person4:",person4)结果:
person2: ['Name', ['saving', 100]]
person3: ['Name', ['saving', 100]]
person4: ['Name', ['saving', 100]]
联表改动:
person2[0]=["MyName"]person3[0]=["HerName"]person2[1][1] = 50;print("name2:",person2)print("name3:",person3)print("name:",person)
结果:
person2: [['MyName'], ['saving', 50]]
person3: [['HerName'], ['saving', 50]]
person: ['Name', ['saving', 50]]
深度copy:
如果想要复制后值不会随着联动改变,就需要使用深度复制的函数,copy库中的deepcopy()方法
实例:
names = ["Jane","Nike",["wiiknow","ZYQ"],"Mike","kenvie","Apple"]names3 = copy.deepcopy(names); #copy中的深度复制方法names[2][0] = "Kind";print("names:",names);print("names3:",names3);结果:
names: ['LXB', 'Nike', ['Kind', 'queen'], 'Mike', 'kenvie', 'Apple']
names3: ['LXB', 'Nike', ['wiiknow', 'queen'], 'Mike', 'kenvie', 'Apple']
3.列表循环
列表循环使用的类似for的遍历循环,这比别的语言使用起来更简便:
names = ["Jane","Nike",["wiiknow","ZYQ"],"Mike","kenvie","Apple"]for i in names: print(i);
Jane
Nike
['wiiknow', 'ZYQ']
Mike
kenvie
Apple
Nike
['wiiknow', 'ZYQ']
Mike
kenvie
Apple
阅读全文
0 0
- Python-Day02-列表2
- python -day02
- python-day02
- Day02-2
- Python学习-day02
- Python学习day02
- Python学习day02
- python day02字典的神奇
- Python-Day02-字符串与字典
- HTML-Day02-2
- Android Studio Day02-2
- DAY02
- DAY02
- day02
- day02
- day02
- day02
- day02
- 生成模型和判别模型的对比
- [LeetCode] String to Integer (atoi)
- 网页-音频
- springmvc最全配置xml以及常用Maven pom.xml配置
- 层次遍历引入队列解决,队列
- Python-Day02-列表2
- 综合练习-介绍家乡
- 单源最短路径--Bellman-Ford算法及SPFA
- 安装cocoapods
- LeetCode 0001
- Kotlin极简教程:第10章 Kotlin与Java互操作
- 位运算实现二进制转换 C语言
- 【福利】日语学习资料大集合!6G资源!
- 重庆“背篓夫妻”相伴29年 夫妻二人互为腿眼