文档目录:
一、访问列表元素
二、更新列表
三、删除元素
四、列表排序
五、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. MySQL运维6-Mycat垂直分库

    一.垂直分库场景 场景:在业务系统中,涉及一下表结构,但是由于用户与订单每天都会产生大量的数据,单台服务器的数据存储以及处理能力是有限的,可以对数据库表进行拆分,原有数据库如下 说明1:整个业务系统中 ...

  2. 华企盾DSC防泄密申请解密、外发等失败常见处理方法

    1.检查文件是否已经打开或被占用,以及文件的权限不是只读(错误代码32或5,这种情况比较常见) 2.系统用户名不能带特殊字符.老版本文件路径中不能含特殊字符(包括备份路径) 3.备份路径是否有读写权限 ...

  3. Windows和Linux下通过go实现自删除

    自删除在攻防中都挺常见的,自写远控通常也有需要.可是在度娘里搜不到什么办法,于是就查查Windows api学习记录一回. linux 先获得当前程序的文件名,再使用syscall这个包中的Unlin ...

  4. Bean named ‘xxxxxx‘ is expected to be of type ‘x‘ but was actually of type ‘com.sun.proxy.$Proxy112‘

    Bean named 'instanceService' is expected to be of type 'awb.operations.service.instance.InstanceServ ...

  5. 【Python】人工智能-机器学习——不调库手撕贝叶斯分类问题

    1. 作业内容描述 1.1 背景 数据集大小150 该数据有4个属性,分别如下 Sepal.Length:花萼长度(cm) Sepal.Width:花萼宽度单位(cm) Petal.Length:花瓣 ...

  6. GOF23--23种设计模式(三)

    一.桥接模式 Java中的桥接模式(Bridge Pattern)是一种结构性设计模式,它将抽象部分和实现部分分离,使它们可以独立变化,同时通过桥接对象将它们连接起来. 这种模式将抽象与其实现解耦,使 ...

  7. Underlay网络:如何立住可靠又支持大规模无收敛的“人设”

    摘要:Underlay网络要如何演进,才能满足5个9的指标? 这几年公有云业务急速上涨,network as a service理念越来越深入人心.云厂商给租户提供了越来越丰富的云服务,VPC.LB等 ...

  8. 构建万物互联,华为云IoT+鸿蒙重燃物体感知

    摘要:鸿蒙的出现,让硬件.软件行业面临着变革与重构的洪流,但激流勇进中,也潜藏着巨大机遇.物联网设备与鸿蒙结合成为必然趋势,本文将解读华为云IoT+鸿蒙如何强强联合,为物联网行业提供新的思路和方法. ...

  9. 从下个月开始,App Store 要求使用 Xcode 14 构建的 iOS 16 兼容应用程序

    Xcode 继向开发者发布第一个iOS 16.5 测试版后,苹果公司周二宣布了对开发者向 App Store 提交应用程序的新要求.从下个月开始,Apple 将要求每个应用程序都必须使用 Xcode ...

  10. Solon 项目的单元测试插件

    1.引入依赖 <dependency> <groupId>org.noear</groupId> <artifactId>solon-test</ ...