文档目录:
一、访问列表元素
二、更新列表
三、删除元素
四、列表排序
五、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)--列表的更多相关文章

  1. 洗礼灵魂,修炼python(15)--列表进阶话题—>列表解析/列表生成器

    是的,我是想到什么知识点就说什么,没有固定的主题,我的标题都是在写完博客再给的.本篇博文说说列表进阶话题.其实列表应该是比较熟悉的了,而毫不夸张的说,在实际的开发中,列表也是使用的最多的,以后你会体会 ...

  2. python 字典,列表,集合,字符串,基础进阶

    python列表基础 首先当然是要说基础啦 列表list 1.L.append(object) -> None 在列表末尾添加单个元素,任何类型都可以,包括列表或元组等 2.L.extend(i ...

  3. Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数

    Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: ​ 就是迭代器 生成器产生的方式: ​ 1.生成器函数

  4. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  5. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  6. Python进阶-继承中的MRO与super

    Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...

  7. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

  8. 【python进阶】Garbage collection垃圾回收2

    前言 在上一篇文章[python进阶]Garbage collection垃圾回收1,我们讲述了Garbage collection(GC垃圾回收),画说Ruby与Python垃圾回收,Python中 ...

  9. 【python进阶】深入理解系统进程2

    前言 在上一篇[python进阶]深入理解系统进程1中,我们讲述了多任务的一些概念,多进程的创建,fork等一些问题,这一节我们继续接着讲述系统进程的一些方法及注意点 multiprocessing ...

  10. Python进阶:如何将字符串常量转化为变量?

    前几天,我们Python猫交流学习群 里的 M 同学提了个问题.这个问题挺有意思,经初次讨论,我们认为它无解. 然而,我认为它很有价值,应该继续思考怎么解决,所以就在私密的知识星球上记录了下来. 万万 ...

随机推荐

  1. 关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法

    早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集 其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可 ...

  2. MySQL运维11-Mycat分库分表之应用指定分片

    一.应用指定分片 此规则是在运行阶段有应用自主决定路由到那个分片,根据提供的字段,然后按照指定的规则,截取该字段的部分子字符串当做分片的依据,该分别方法比较灵活,适用于某个字段有几个特殊的字符串拼接而 ...

  3. WPF中 ContextMenu 寻找父物体的一种方案

    据了解 ContextMenu 在WPF中实际是以类似于WIndow的呈现方式,所以 ContextMenu 在当前页面的 Visualtree 中是找不到的. 当在Listbox中需要传递当前选中项 ...

  4. 从零玩转七牛云之CDN-qiniuyunzhicdn

    title: 从零玩转七牛云之CDN date: 2022-03-27 19:14:43.036 updated: 2022-04-10 14:13:27.322 url: https://www.y ...

  5. 从零玩转Websocket实时通讯服务之前后端分离版本-websocket

    title: 从零玩转Websocket实时通讯服务之前后端分离版本 date: 2021-10-25 00:47:12.945 updated: 2021-12-26 17:43:10.496 ur ...

  6. MySQL|mysql-索引

    1.索引是什么 1.1索引简介 索引是表的目录,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,以及快速定位查询数据.对于索引 ...

  7. JavaFx之场景交互(二十一)

    JavaFx之场景交互(二十一) 有parent.son两个父子窗口,父窗口可以操作子窗口,父子可以相互调用对方的对象,下面我给出两种方案,我推荐使用第二种 一.构造传参 参数比较多的话代码不优雅.而 ...

  8. MySQL优化:12种提升SQL执行效率的有效方法

    在数据库管理和优化的世界里,MySQL作为一个流行的关系型数据库管理系统,其性能优化是任何数据密集型应用成功的关键.优化MySQL数据库不仅可以显著提高SQL查询的效率,还能确保数据的稳定性和可靠性. ...

  9. 论文分享丨Holistic Evaluation of Language Models

    摘要:该文为大模型评估方向的综述论文. 本文分享自华为云社区<[论文分享]<Holistic Evaluation of Language Models>>,作者:DevAI. ...

  10. 从相识到相惜:Redis与计算存储分离四部曲

    摘要:协议兼容问题.性能问题.数据备份问题.数据容量问题--这些都是数据库在使用过程中必然会遇见的问题.就好比选择结婚对象,你需要去对比不同的方面,最后选出最好的.最合适的. 近期全国两会正在轰轰烈烈 ...