python-list

Python 列表

原文:https://www.geeksforgeeks.org/python-list/

列表就像动态大小的数组,用其他语言声明(C++中的 vector 和 Java 中的 ArrayList)。列表不必总是相同的,这使得它成为 Python 中最强大的工具。单个列表可能包含整数、字符串和对象等数据类型。列表是可变的,因此,即使在创建之后,它们也可以被更改。

Python 中的列表是有序的,并且有明确的计数。列表中的元素按照一定的顺序进行索引,列表的索引以 0 作为第一个索引。列表中的每个元素在列表中都有其明确的位置,这允许复制列表中的元素,每个元素都有其独特的位置和可信度。

注意- 列表是保存数据序列并对其进行进一步迭代的有用工具。

目录:

  • 创建列表
  • 知道列表的大小
  • 向列表中添加元素:
    • 使用追加()方法
    • 使用插入()方法
    • 使用 extend()方法
  • 从列表中访问元素
  • 从列表中删除元素:
    • 使用移除()方法
    • 使用 pop()方法
  • 列表切片
  • 列表理解
  • 列表上的操作
  • 列出方法

创建列表

Python 中的列表可以通过将序列放在方括号[]中来创建。与设置不同,列表不需要内置函数来创建列表。

**注意–**与集合不同,列表可能包含可变元素。

蟒蛇 3

# Python program to demonstrate
# Creation of List# Creating a List
List = []
print("Blank List: ")
print(List)# Creating a List of numbers
List = [10, 20, 14]
print("\nList of numbers: ")
print(List)# Creating a List of strings and accessing
# using index
List = ["Geeks", "For", "Geeks"]
print("\nList Items: ")
print(List[0])
print(List[2])# Creating a Multi-Dimensional List
# (By Nesting a list inside a List)
List = [['Geeks', 'For'] , ['Geeks']]
print("\nMulti-Dimensional List: ")
print(List)

Output:

Blank List: 
[]List of numbers: 
[10, 20, 14]List Items
Geeks
GeeksMulti-Dimensional List: 
[['Geeks', 'For'], ['Geeks']]

创建包含多个不同或重复元素的列表

一个列表可能包含具有不同位置的重复值,因此,在创建列表时,多个不同或重复的值可以作为一个序列传递。

蟒蛇 3

# Creating a List with
# the use of Numbers
# (Having duplicate values)
List = [1, 2, 4, 4, 3, 3, 3, 6, 5]
print("\nList with the use of Numbers: ")
print(List)# Creating a List with
# mixed type of values
# (Having numbers and strings)
List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']
print("\nList with the use of Mixed Values: ")
print(List)

Output:

List with the use of Numbers: 
[1, 2, 4, 4, 3, 3, 3, 6, 5]List with the use of Mixed Values: 
[1, 2, 'Geeks', 4, 'For', 6, 'Geeks']

知道列表的大小

蟒蛇 3

# Creating a List
List1 = []
print(len(List1))# Creating a List of numbers
List2 = [10, 20, 14]
print(len(List2))

Output:

0
3

向列表中添加元素

使用 append()方法

可以使用内置的 【追加】( 功能将元素添加到列表中。使用 append()方法一次只能向列表中添加一个元素,对于使用 append()方法添加多个元素,将使用循环。还可以使用 append 方法将元组添加到列表中,因为元组是不可变的。与集合不同,也可以使用 append()方法将列表添加到现有列表中。

蟒蛇 3

# Python program to demonstrate
# Addition of elements in a List# Creating a List
List = []
print("Initial blank List: ")
print(List)# Addition of Elements
# in the List
List.append(1)
List.append(2)
List.append(4)
print("\nList after Addition of Three elements: ")
print(List)# Adding elements to the List
# using Iterator
for i in range(1, 4):List.append(i)
print("\nList after Addition of elements from 1-3: ")
print(List)# Adding Tuples to the List
List.append((5, 6))
print("\nList after Addition of a Tuple: ")
print(List)# Addition of List to a List
List2 = ['For', 'Geeks']
List.append(List2)
print("\nList after Addition of a List: ")
print(List)

Output:

Initial blank List: 
[]List after Addition of Three elements: 
[1, 2, 4]List after Addition of elements from 1-3: 
[1, 2, 4, 1, 2, 3]List after Addition of a Tuple: 
[1, 2, 4, 1, 2, 3, (5, 6)]List after Addition of a List: 
[1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]

使用 insert()方法

append()方法仅适用于在列表末尾添加元素,对于在所需位置添加元素,则使用 insert()方法。与只接受一个参数的 append()不同,insert()方法需要两个参数(位置、值)。

蟒蛇 3

# Python program to demonstrate
# Addition of elements in a List# Creating a List
List = [1,2,3,4]
print("Initial List: ")
print(List)# Addition of Element at
# specific Position
# (using Insert Method)
List.insert(3, 12)
List.insert(0, 'Geeks')
print("\nList after performing Insert Operation: ")
print(List)

Output:

Initial List: 
[1, 2, 3, 4]List after performing Insert Operation: 
['Geeks', 1, 2, 3, 12, 4]

使用扩展()方法

除了 append()和 insert()方法之外,还有一种添加元素的方法, extend() ,这种方法用于在列表末尾同时添加多个元素。
注意–追加()和扩展()方法只能在末尾添加元素。

蟒蛇 3

# Python program to demonstrate
# Addition of elements in a List# Creating a List
List = [1,2,3,4]
print("Initial List: ")
print(List)# Addition of multiple elements
# to the List at the end
# (using Extend Method)
List.extend([8, 'Geeks', 'Always'])
print("\nList after performing Extend Operation: ")
print(List)

Output:

Initial List: 
[1, 2, 3, 4]List after performing Extend Operation: 
[1, 2, 3, 4, 8, 'Geeks', 'Always']

从列表中访问元素

为了访问列表项,请参考索引号。使用索引运算符[ ]访问列表中的项目。索引必须是整数。使用嵌套索引访问嵌套列表。

蟒蛇 3

# Python program to demonstrate
# accessing of element from list# Creating a List with
# the use of multiple values
List = ["Geeks", "For", "Geeks"]# accessing a element from the
# list using index number
print("Accessing a element from the list")
print(List[0])
print(List[2])# Creating a Multi-Dimensional List
# (By Nesting a list inside a List)
List = [['Geeks', 'For'] , ['Geeks']]# accessing an element from the
# Multi-Dimensional List using
# index number
print("Accessing a element from a Multi-Dimensional list")
print(List[0][1])
print(List[1][0])

Output:

Accessing a element from the list
Geeks
Geeks
Accessing a element from a Multi-Dimensional list
For
Geeks

负索引

在 Python 中,负序索引表示从数组末尾开始的位置。不必像列表[len(List)-3]那样计算偏移量,只需编写 List[-3]就足够了。负索引表示从末尾开始,-1 表示最后一项,-2 表示倒数第二项,等等。

蟒蛇 3

List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']# accessing an element using
# negative indexing
print("Accessing element using negative indexing")# print the last element of list
print(List[-1])# print the third last element of list
print(List[-3])

Output:

Accessing element using negative indexing
Geeks
For

从列表中删除元素

使用 remove()方法

可以使用内置的 【移除() 功能从列表中移除元素,但是如果元素不在集合中,则会出现错误。 Remove() 方法一次只移除一个元素,要移除一系列元素,就要用到迭代器。remove()方法移除指定的项。

**注意–**列表中的移除方法只会移除搜索到的元素的第一个匹配项。

蟒蛇 3

# Python program to demonstrate
# Removal of elements in a List# Creating a List
List = [1, 2, 3, 4, 5, 6,7, 8, 9, 10, 11, 12]
print("Initial List: ")
print(List)# Removing elements from List
# using Remove() method
List.remove(5)
List.remove(6)
print("\nList after Removal of two elements: ")
print(List)# Removing elements from List
# using iterator method
for i in range(1, 5):List.remove(i)
print("\nList after Removing a range of elements: ")
print(List)

Output:

Initial List: 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]List after Removal of two elements: 
[1, 2, 3, 4, 7, 8, 9, 10, 11, 12]List after Removing a range of elements: 
[7, 8, 9, 10, 11, 12]

使用 pop()方法

Pop() 函数也可以用来从集合中移除并返回一个元素,但默认情况下它只移除集合的最后一个元素,要从 List 的特定位置移除一个元素,元素的索引作为参数传递给 Pop()方法。

蟒蛇 3

List = [1,2,3,4,5]# Removing element from the
# Set using the pop() method
List.pop()
print("\nList after popping an element: ")
print(List)# Removing element at a
# specific location from the
# Set using the pop() method
List.pop(2)
print("\nList after popping a specific element: ")
print(List)

Output:

List after popping an element: 
[1, 2, 3, 4]List after popping a specific element: 
[1, 2, 4]

列表切片

在 Python List 中,有多种方法可以打印包含所有元素的整个 List,但是要打印列表中特定范围的元素,我们使用切片操作。使用冒号(:)对列表执行切片操作。要打印从开始到某个范围的元素,请使用[: Index],要打印从最终使用[:-Index]的元素,要打印从特定索引到最终使用[Index:]的元素,要打印某个范围内的元素,请使用[Start Index:End Index],要使用切片操作打印整个列表,请使用[:]。此外,要以相反的顺序打印整个列表,请使用[::-1]。
**注意–**要从后端打印列表元素,请使用负索引。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

蟒蛇 3

# Python program to demonstrate
# Removal of elements in a List# Creating a List
List = ['G','E','E','K','S','F','O','R','G','E','E','K','S']
print("Initial List: ")
print(List)# Print elements of a range
# using Slice operation
Sliced_List = List[3:8]
print("\nSlicing elements in a range 3-8: ")
print(Sliced_List)# Print elements from a
# pre-defined point to end
Sliced_List = List[5:]
print("\nElements sliced from 5th ""element till the end: ")
print(Sliced_List)# Printing elements from
# beginning till end
Sliced_List = List[:]
print("\nPrinting all elements using slice operation: ")
print(Sliced_List)

Output:

Initial List: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']Slicing elements in a range 3-8: 
['K', 'S', 'F', 'O', 'R']Elements sliced from 5th element till the end: 
['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']Printing all elements using slice operation: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

负索引列表切片

蟒蛇 3

# Creating a List
List = ['G','E','E','K','S','F','O','R','G','E','E','K','S']
print("Initial List: ")
print(List)# Print elements from beginning
# to a pre-defined point using Slice
Sliced_List = List[:-6]
print("\nElements sliced till 6th element from last: ")
print(Sliced_List)# Print elements of a range
# using negative index List slicing
Sliced_List = List[-6:-1]
print("\nElements sliced from index -6 to -1")
print(Sliced_List)# Printing elements in reverse
# using Slice operation
Sliced_List = List[::-1]
print("\nPrinting List in reverse: ")
print(Sliced_List)

Output:

Initial List: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']Elements sliced till 6th element from last: 
['G', 'E', 'E', 'K', 'S', 'F', 'O']Elements sliced from index -6 to -1
['R', 'G', 'E', 'E', 'K']Printing List in reverse: 
['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']

列表理解

列表理解 用于从元组、字符串、数组、列表等其他项创建新列表。
列表理解由包含表达式的括号组成,该表达式与 for 循环一起对每个元素执行,以迭代每个元素。

语法:

新列表= [旧列表中元素的表达式(元素)if 条件]

示例:

蟒蛇 3

# Python program to demonstrate list
# comprehension in Python# below list contains square of all
# odd numbers from range 1 to 10
odd_square = [x ** 2 for x in range(1, 11) if x % 2 == 1]
print (odd_square)

输出:

[1, 9, 25, 49, 81]

为了更好地理解,上面的代码类似于–

蟒蛇 3

# for understanding, above generation is same as,
odd_square = []for x in range(1, 11):if x % 2 == 1:odd_square.append(x**2)print (odd_square)

输出:

[1, 9, 25, 49, 81]

参考下面的文章来获得关于列表理解的详细信息。

  • Python 列表理解和切片
  • Python 中的嵌套列表理解
  • 用 Python 列出理解和顺序()

列表上的操作

  • 查找列表长度
  • 在 Python 中遍历列表
  • 在 Python 中连接两个列表
  • 列表会员测试

列出方法

功能描述
追加()在列表的末尾添加一个元素
Extend()将列表中的所有元素添加到另一个列表中
插入()在定义的索引处插入一个项目
移除()从列表中移除项目
Pop()移除并返回给定索引处的元素
Clear()从列表中删除所有项目
指数()返回第一个匹配项的索引
计数()返回作为参数传递的项目数的计数
排序()按升序对列表中的项目进行排序
反转()颠倒列表中项目的顺序
副本()返回列表的副本

带有列表的内置函数

功能描述
减少()将参数中传递的特定函数应用于所有列表元素会存储中间结果,并且只返回最终的求和值
sum()总结列表中的数字
字数 ()返回一个整数,表示给定 Unicode 字符的 Unicode 代码点
CMP()如果第一个列表比第二个列表“大”,这个函数返回 1
最大值()返回给定列表的最大元素
最小值()返回给定列表的最小元素
all()如果所有元素都为真或列表为空,则返回真
任意()如果列表中的任何元素为真,则返回 true。如果列表为空,则返回 false
len()返回列表的长度或列表的大小
枚举()返回列表的枚举对象
累积()将参数中传递的特定函数应用于所有列表元素会返回一个包含中间结果的列表
过滤器()测试列表中的每个元素是否为真
地图()将给定函数应用于给定 iterable 的每个项目后,返回结果列表
λ()此函数可以有任意数量的参数,但只能有一个表达式,该表达式将被计算并返回。

列表上最近的文章

更多 Python List 视频:
Python List–第二集

关于 Python 列表的更多信息–

  • 创建三维列表
  • 在 Python 中遍历列表
  • 同时迭代多个列表
  • Python 中列表的内部工作
  • 蟒蛇切片
  • Python 列表理解与生成器表达式
  • Python 中的列表方法–第 1 集 第 2 集
  • λ表达式和过滤功能

有用链接:

  • Python 列表近期文章
  • Python 教程
  • 列表中的 Python 输出程序:第 6 集、第 11 集、第 12 集、第 13 集
  • 选择题
  • Python 类别的所有文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149976.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

指针 (2)

目录 1.指针变量的⼤⼩ 2 指针的解引⽤ 3指针-整数 1.指针变量的⼤⼩ 指针变量的大小和编译器的位数有关系,例如vs2022的 x64 就是64位, x86 就是 32位 当两个同时运行一个代码的时候就会有差异。 当我在运行x86的时 总结: 在x86…

java面对对象高级

1.类变量和类方法 1.1static变量 (1)类变量: 也叫静态变量/静态属性,所有对象共享并且所有对象访问的值是相同的 static变量是同一个类所有对象共享的 static类变量,在类加载的时候就生成了 (2&#xff09…

MySQL基础篇 - SQL

01 SQL通用语法 02 SQL分类 03 DDL语句 04 DML语句 05 DQL语句(单表查询) 05_01 学习总览 05_02 基本查询 05_03 条件查询 【应用实例】: 05_04 聚合函数 05_05 分组查询 05_06 排序查询 05_07 分页查询 【boss题目】: 05_08 执行顺序 06 DCL语句 【概…

国家标准和团体标准有什么区别?

国家标准和团体标准的区别主要体现在以下几个方面: 1. 制定标准的主体不同:国家标准是由国家机构通过并公开发布的标准;团体标准是由学会、协会、商会、联合会、产业技术联盟等社会团体协调相关市场主体共同制…

Libtorrent 安装、编译与使用(附 Boost 的编译与使用)

文章目录 Part.I IntroductionChap.I 预备知识Chap.II 所用设备系统与软件Part.II 准备工作Chap.I 编译 Boost 库Chap.II 下载必需文件Part.III 编译与使用 LibtorrentChap.I 运行 Example 和 TestChap.II 使用库文件ReferencePart.I Introduction libtorrent 是 BitTorrent 协…

Unity场景内画车道线(根据五阶曲线系数)

之前做过使用Dreamteck Splines插件构建车道线之前需求是给定车道线的点位,根据点位来进行构建。 由于AI识别出来的点位不线性,画出来的车道线经常是歪七扭八,所以使用五阶曲线系数进行构建。 使用在线图形计算器进行测试构建,公式…

开源鸿蒙OpenHarmony系统修改屏幕旋转方法 深圳触觉智能RK3566开发板

本文提供OpenHarmony4.0系统竖屏修改为旋转时的操作方法,在此为大家介绍了两种方法!第一种方式是将修改过的文件重新编译后烧录至开发板中实现屏幕旋转,第二种方式则是通过覆盖原文件的方式实现屏幕旋转。 1、源码下载 首先进入触觉智能官网…

Prompt输出限制怎么写?用CCoT限制输出长度的推理,大幅提高LLM准确性

图片由修猫创作 一项由意大利比萨的著名高等教育和研究机构圣安娜高等学校Sania Nayab等人进行的研究为这个问题提供了一个创新的解决方案- Constrained Chain-of-Thought (CCoT)提示技术。这项研究不仅提出了控制LLM输出长度的新方法,还开发了一套评估LLM输出简洁…

新闻文本分类识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+TensorFlow+Django网页界面

一、介绍 文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集(“体育类”, “财经类”, “房产类”, “家居类”, “教育类”, “科技类”, “时尚类”, “时政类”, “游戏类”, “娱乐类”),然…

推荐一个免费的学习ROS机器人的大模型

可以帮你快速写推文 聚合古月居资源,帮你推荐古月居学习路径 学习古月居产品?古月知道绝对是你的好帮手! 无聊想唠嗑?和古月知道一起唠嗑吧! 想学点别的,但是古月居没找到对应的文章怎么办? 还有很多很多&…

【MyBatis 源码拆解系列】MyBatis 运行原理 - MyBatis 中的代理模式

欢迎关注公众号 【11来了】 ,持续 MyBatis 源码系列内容! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址:点击查看文章导读! 感谢你的关注&#xff…

图变换器:为图数据增强神经网络架构

人工智能咨询培训老师叶梓 转载标明出处 当面对图数据时,尤其是那些拓扑结构重要的图,传统的 Transformer 架构并未能充分利用图的连接性特征,导致性能受限。为了解决这一问题,新加坡南洋理工大学的研究人员提出了一种新的神经网…

数字私家侦探必备工具

在当今快节奏的数字环境中,技术是法医调查的关键组成部分,因为它将传统技术转化为复杂的数字操作。数字私家侦探的出现给侦查方式带来了显著的变化。这些专家收集、检查和储存数字证据 使用尖端技术,这对于解决涉及电子数据的问题至关重要。用…

Vue.js与Flask/Django全栈开发实战:从零搭建前后端分离的高效Web应用,打造现代化全栈开发体验!

将Vue.js与Flask或Django等后端框架配合使用,可以构建一个全栈的Web应用。以下是一个简要的指南,介绍如何将Vue.js与Flask或Django结合使用。 1. 准备工作 确保你已经安装了Node.js、npm(或yarn)以及Python和相应的包管理工具&am…

JAVA开源项目 学科竞赛管理系统 计算机毕业设计

本文项目编号 T 047 ,文末自助获取源码 \color{red}{T047,文末自助获取源码} T047,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

CSS 实现文本溢出省略号显示,含单行与多行文本溢出

🚀 个人简介:某大型国企资深软件研发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

CNS-WRFID-01地标卡读写器|写卡器DEMO软件读、写操作说明

CNS-WRFID-01地标卡读写器|写卡器是一款高频读写设备,支持ISO15693协议芯片卡,地标标签读写,支持兴颂系列抗金属|非抗金属RFID标签,如:CNS-CRFID-01、CNS-CRFID-02、CNS-CRFID-03、CNS-CRFID-04、CNS-CRFID-05、CNS-CR…

任意长度并行前缀和 扫描算法 《PMPP》笔记

下面的算法针对于任意长度输入 对于大数据集,首先将输入分为几段,每一段放进共享内存并用一个线程块处理,比如一个线程块使用1024个线程的话,每个块最多能处理2048个元素。 在前面代码中,一个块最后的执行结果保存到了…

网站建设中,JavaScript为什么现在可以做后台了?

JavaScript,作为一种最初为浏览器端脚本设计的语言,已经逐渐发展成为可以在服务器端运行的强大工具。以下是JavaScript可以做后台开发的原因分析: Node.js的崛起 事件驱动与非阻塞I/O:Node.js的事件驱动和非阻塞I/O模型使得JavaSc…

【YOLOv10改进[SPPF]】使用 FocalModulation替换SPPF(模型结构变化小+涨点) + 含全部代码和详细修改方式

本文将进行在YOLOv10中使用FocalModulation改进v10 的实践,助力YOLOv10目标检测效果,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后的参数对比如下: 目录 前言 一 FocalModulation 二 使用FocalModulation改进v10的实践 1 整体修改 ① 添加F…