python进阶(2)--列表
文档目录:
一、访问列表元素
二、更新列表
三、删除元素
四、列表排序
五、len()与range()/list()
六、创建一个包含1-10平方的列表
七、复制列表两种方式
八、元组:不可变的列表
---------------------------------------分割线:正文--------------------------------------------------------
一、访问列表元素
1、直接访问
#直接访问
print(myTest[0])
print(myTest[-1])
print(f"my letter is {myTest[1]}")
查看结果
a
c
my letter is b
2、访问列表切片
myTest=['a','b','c','e','f']
#访问切片,左闭右开
print(myTest[0:1])
print(myTest[:2])
print(myTest[1:3])
print(myTest[1:])
print(myTest[:])
print(myTest[-2:])
print(myTest[0:5:2])#取对应步长
查看结果
['a']
['a', 'b']
['b', 'c']
['b', 'c', 'e', 'f']
['a', 'b', 'c', 'e', 'f']
['e', 'f']
['a', 'c', 'f']
3、遍历列表
myTest=['a','b','c','e','f']
for letter in myTest:
print(myTest)
a
b
c
e
f
二、更新列表
1、新增元素
testList=['x','y','z']
#添加元素-末尾
testList.append("u")
print(testList)
#指定位置查询
testList.insert(1,"v")
print(testList)
查看结果
['x', 'y', 'z', 'u']
['x', 'v', 'y', 'z', 'u']
2、修改元素
#修改元素
testList=['x','y','z']
testList[1]='ok'
print(testList)
查看结果
['x', 'ok', 'z']
三、删除元素
1、del
testList=['x','y','z','o']
#删除指定位置元素
del testList[0]
print(testList)
查看结果
['y', 'z', 'o']
2、pop弹出元素
#删除并弹出最后一个元素
testList=['x','y','z','o']
popTest= testList.pop();
print(popTest)
print(testList)
查看结果
['x', 'y', 'z']
z
3、pop弹出指定位置元素
#删除并弹出指定位置元素最后一个元素
testList=['x','y','z','o']
popTest= testList.pop(2);
print(popTest)
print(testList)
查看结果
z
['x', 'y', 'o']
四、列表排序
1、字母顺利正序
cars=['ac','aa','ba','ab']
#字母顺序正序
cars.sort()
print(cars)
查看结果
['aa', 'ab', 'ac', 'ba']
2、字母顺利反序
cars=['ac','aa','ba','ab']
#字母顺序反序
cars.sort(reverse=True)
print(cars)
查看结果
['ba', 'ac', 'ab', 'aa']
3、临时排序
cars=['ac','aa','ba','ab']
#临时排序
cars2=sorted(cars)
print(cars)
print(cars2)
查看结果
['ac', 'aa', 'ba', 'ab']
['aa', 'ab', 'ac', 'ba']
4、反转列表
cars=['ac','aa','ba','ab']
#反转列表
cars.reverse()
print(cars)
查看结果
['ab', 'ba', 'aa', 'ac']
五、len()与range()/list()
1、列表长度len()
cars=['ac','aa','ba','ab']
print(len(cars))
查看结果
4
2、range()与list()一起使用
#range()与list()
print(list(range(6)))
print(list(range(0,6)))
print(list(range(2,5)))
print(list(range(0,8,2)))
查看结果
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5]
[2, 3, 4]
[0, 2, 4, 6]
六、创建一个包含1-10平方的列表
1、for循环
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
2、列表解析
squares=[]
squares=[value**2 for value in range(1,11)]
print(squares)
查看结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
七、复制列表两种方式
1、直接赋值:相同对象
myfoods=['a','b','c']
myfoods2=myfoods
#改变myfood
myfoods[0]='A'
print(myfoods)
print(myfoods2)
查看结果:
['A', 'b', 'c']
['A', 'b', 'c']
2、重新赋值:不同对象
myfoods=['a','b','c']
myfoods3=myfoods[:]
#改变myfood
myfoods[0]='A'
print(myfoods)
print(myfoods3)
查看结果:
['A', 'b', 'c']
['a', 'b', 'c']
还有两种用法是copy()与deepcopy(),不太常用
b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象
b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的
八、元组:不可变的列表
1、查看元组内容
dimensions=(200,50)
print(type(dimensions))
print(dimensions[0])
查看结果:
<class 'tuple'>
200
2、遍历元组
dimensions=(200,50)
for dimension in dimensions:
print(dimension)
查看结果:
200
50
3、修改元组变量
dimensions=(200,50)
dimensions=(400,100)
print(dimensions)
查看结果
(400, 100)
python进阶(2)--列表的更多相关文章
- 洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器
是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的.本篇博文说说列表进阶话题.其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会 ...
- python 字典,列表,集合,字符串,基础进阶
python列表基础 首先当然是要说基础啦 列表list 1.L.append(object) -> None 在列表末尾添加单个元素,任何类型都可以,包括列表或元组等 2.L.extend(i ...
- Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数
Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: 就是迭代器 生成器产生的方式: 1.生成器函数
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python进阶 - 命名空间与作用域
Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...
- 【python进阶】Garbage collection垃圾回收2
前言 在上一篇文章[python进阶]Garbage collection垃圾回收1,我们讲述了Garbage collection(GC垃圾回收),画说Ruby与Python垃圾回收,Python中 ...
- 【python进阶】深入理解系统进程2
前言 在上一篇[python进阶]深入理解系统进程1中,我们讲述了多任务的一些概念,多进程的创建,fork等一些问题,这一节我们继续接着讲述系统进程的一些方法及注意点 multiprocessing ...
- Python进阶:如何将字符串常量转化为变量?
前几天,我们Python猫交流学习群 里的 M 同学提了个问题.这个问题挺有意思,经初次讨论,我们认为它无解. 然而,我认为它很有价值,应该继续思考怎么解决,所以就在私密的知识星球上记录了下来. 万万 ...
随机推荐
- SQL注入Fuzzing字典
需要的自取 ' " # - -- ' -- --'; ' ; = ' = ; = -- \x23 \x27 \x3D \x3B' \x3D \x27 \x27\x4F\x52 SELECT ...
- 文心一言 VS 讯飞星火 VS chatgpt (44)-- 算法导论6.1 1题
一.在高度为h的堆中,元素个数最多和最少分别是多少? 文心一言: 在高度为 h 的二叉搜索树(BST)中,元素个数最多和最少的情况分别如下: 1.最多情况:当每个节点都包含两个子节点时,BST 中的元 ...
- Visual Studio使用Web Deploy发布.NET Web应用到指定服务器的IIS中
前言 今天要讲的是在Window 2008 R2版本的服务器下如何配置Web Deploy,和Visual Studio使用Web Deploy发布.NET Web应用到指定服务器的IIS中. 因为历 ...
- Flutter Getx 路由管理
GetX 为我们封装了 Navigation ,无需 context 可进行跳转,使用 GetX 进行路由跳转非常的简单, 只需要调用 Get.to() 即可进行路由跳转, GetX 路由跳转简化了跳 ...
- 神经网络基础篇:详解logistic 损失函数(Explanation of logistic regression cost function)
详解 logistic 损失函数 在本篇博客中,将给出一个简洁的证明来说明逻辑回归的损失函数为什么是这种形式. 回想一下,在逻辑回归中,需要预测的结果\(\hat{y}\),可以表示为\(\hat{y ...
- 规模化敏捷框架何从入手?这篇文章把SAFe讲透了!
摘要:敏捷软件开发理念已渐渐被业界普遍接受,越来越多的公司和团队不得不面对一个新的问题,就是规模化敏捷的引入和实现.目前市场上规模化框架主要有SAFe,Less,Scrum of Scrums, Sp ...
- 经验说丨华为云视频Cloud Native架构下实践
摘要:来自华为云直播的段亮详细介绍华为云视频在Cloud Native的转型实践中遇到的问题.挑战以及解决之道. 随着云基础设施服务以及边缘计算技术的发展,Cloud Native,即云原生,架构理念 ...
- CodeArts TestPlan:一站式测试管理平台
摘要:华为云正式发布CodeArts TestPlan,这是一款自主研发的一站式测试管理平台,沉淀了华为30多年高质量的软件测试工程方法与实践,覆盖测试计划.测试设计.测试执行和测试评估等全流程. 本 ...
- 云图说|云数据库RDS跨区域备份
摘要:云数据库RDS支持将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的RDS实例,用来恢复业务. 本文分享自华为云社区<云图说_云数据库RDS- ...
- head/reset/revert/rebase代码回滚全解:git提交记录的背后原理
多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,操作有: 回退(reset):reset是彻底回退到指定的commit版本,该commit后 ...