【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历)

这篇具有很好参考价值的文章主要介绍了【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前言

二、实验环境

三、Python容器(Containers)

0、容器介绍

1、列表(List)

1. 初始化

a. 创建空列表

b. 使用现有元素初始化列表

c. 使用列表生成式

d. 复制列表

2. 索引和切片

a. 索引

b. 负数索引

c. 切片

3. 常用操作(更新、删除)

a. 更新单个元素

b. 更新切片

c. 删除单个元素

d. 删除切片

e. 增量更新

f. 复制更新

4. 常用函数

append(element):将元素添加到列表的末尾。

extend(iterable):将可迭代对象的元素添加到列表的末尾。

insert(index, element):在指定的索引位置插入元素。

remove(element):从列表中移除第一个匹配的元素。

pop(index):移除并返回指定索引位置的元素。

index(element):返回指定元素首次出现的索引。

count(element):返回指定元素在列表中出现的次数。

sort():对列表进行就地排序,按升序排列。

reverse():对列表进行就地反转。

copy():返回列表的浅拷贝。

5. 拆包

a. 基本拆包

b. 扩展拆包

6. 遍历       

a. 使用for循环

b. 使用while循环和索引

c. 使用enumerate()函数


 文章来源地址https://www.toymoban.com/news/detail-704441.html

 

 

一、前言

        Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

        Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

  • Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
  • Numpy:数组、数组索引、数据类型、数组数学、广播
  • Matplotlib:绘图,子图,图像
  • IPython:创建笔记本,典型工作流程

 

二、实验环境

        Python 3.7

        运行下述命令检查Python版本

 python --version 

 

三、Python容器(Containers)

0、容器介绍

        Python中的容器是用于存储和组织数据的对象。常见的容器包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。

  • 列表是有序的可变容器,可以包含不同类型的元素,使用方括号([])来创建。
my_list = [1, 2, 3, 'a', 'b', 'c']
  • 元组是有序的不可变容器,也可以包含不同类型的元素,使用圆括号(())来创建。
my_tuple = (1, 2, 3, 'a', 'b', 'c')
  • 集合是无序且不重复的容器,用于存储唯一的元素,使用大括号({})或者set()函数来创建。
my_set = {1, 2, 3, 'a', 'b', 'c'}
  •  字典是无序的键值对容器,用于存储具有唯一键的值,使用花括号({})或者dict()函数来创建。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

        这些容器都提供了不同的方法和操作,用于对数据进行存储、访问和处理。可以根据具体的需求选择适合的容器类型。

 

1、列表(List)

最常用的序列类型,创建后可以随意被修改,可以灵活地进行各类操作。

1. 初始化

a. 创建空列表

        要创建一个空列表,可以使用空的方括号[]或者list()函数来初始化。

empty_list = []
empty_list = list()

b. 使用现有元素初始化列表

        可以在创建列表时提供初始元素。初始元素可以是常量、变量或表达式。

numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']

c. 使用列表生成式

        列表生成式是一种快速创建列表的方法,它可以根据特定的规则和表达式生成列表中的元素。

squares = [x**2 for x in range(1, 6)]  # 生成包含1到5的平方的列表

d. 复制列表

        要复制一个列表,可以使用切片操作或copy()方法。例如:

original_list = [1, 2, 3]
copied_list = original_list[:]  # 使用切片操作复制列表
# 或
copied_list = original_list.copy()  # 使用copy()方法复制列表

 

2. 索引和切片

        列表的索引和切片是访问和获取列表元素的常用技巧。索引用于获取单个元素,而切片用于获取列表的子集。

a. 索引

        列表中的每个元素都有一个对应的索引,索引从0开始,表示元素在列表中的位置。可以使用索引来获取列表中特定位置的元素。

my_list = ['apple', 'banana', 'orange']
print(my_list[0])  # 输出:'apple'
print(my_list[1])  # 输出:'banana'

b. 负数索引

        列表还支持负数索引,负数索引从列表的末尾开始计数,-1表示最后一个元素,-2表示倒数第二个元素,以此类推。

my_list = ['apple', 'banana', 'orange']
print(my_list[-1])  # 输出:'orange'
print(my_list[-2])  # 输出:'banana'

c. 切片

        切片用于获取列表的子集,通过指定起始索引和结束索引来实现。切片操作返回一个新的列表,包含指定范围内的元素。

my_list = ['apple', 'banana', 'orange', 'grape', 'mango']
print(my_list[1:4])     # 输出:['banana', 'orange', 'grape']
print(my_list[1:])      # 输出:['banana', 'orange', 'grape', 'mango']
print(my_list[1:-2])    # 输出:['banana', 'orange']
print(my_list[-1:-2])   # 输出:[]

  

3. 常用操作(更新、删除)

        列表的更新和删除操作可以用来修改列表中的元素或删除特定的元素

a. 更新单个元素

my_list = ['apple', 'banana', 'orange']
my_list[1] = 'grape'
print(my_list)  # 输出:['apple', 'grape', 'orange']

b. 更新切片

        要更新列表中的一个切片,可以使用切片操作符和赋值语句来将新的元素列表赋值给指定的切片位置。

my_list = ['apple', 'banana', 'orange', 'grape', 'mango']
my_list[1:4] = ['kiwi', 'watermelon']
print(my_list)  # 输出:['apple', 'kiwi', 'watermelon', 'mango']

c. 删除单个元素

        要删除列表中的单个元素,可以使用del关键字和要删除的元素的索引。

my_list = ['apple', 'banana', 'orange']
del my_list[1]
print(my_list)  # 输出:['apple', 'orange']

d. 删除切片

        要删除列表中的一个切片,可以使用切片操作符和del关键字。

my_list = ['apple', 'banana', 'orange', 'grape', 'mango']
del my_list[1:4]
print(my_list)  # 输出:['apple', 'mango']

e. 增量更新

        列表还支持增量更新操作,通过使用+=运算符将新的列表与原始列表合并。

my_list = ['apple', 'banana']
my_list += ['orange', 'grape']
print(my_list)  # 输出:['apple', 'banana', 'orange', 'grape']

f. 复制更新

original_list = ['apple', 'banana', 'orange']
original_list *= 2
print(original_list) # 输出:['apple', 'banana', 'orange', 'apple', 'banana', 'orange']

 

4. 常用函数

append(element):将元素添加到列表的末尾。

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # 输出: [1, 2, 3, 4]

extend(iterable):将可迭代对象的元素添加到列表的末尾。

my_list = [1, 2, 3]
another_list = [4, 5, 6]
my_list.extend(another_list)
print(my_list)  # 输出: [1, 2, 3, 4, 5, 6]

insert(index, element):在指定的索引位置插入元素。

my_list = [1, 2, 3]
my_list.insert(1, 4)
print(my_list)  # 输出: [1, 4, 2, 3]

remove(element):从列表中移除第一个匹配的元素。

my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list)  # 输出: [1, 3, 2]

pop(index):移除并返回指定索引位置的元素。

my_list = [1, 2, 3]
removed_element = my_list.pop(1)
print(removed_element)  # 输出: 2
print(my_list)  # 输出: [1, 3]

index(element):返回指定元素首次出现的索引。

my_list = [1, 2, 3, 2]
index = my_list.index(2)
print(index)  # 输出: 1

count(element):返回指定元素在列表中出现的次数。

my_list = [1, 2, 3, 2]
count = my_list.count(2)
print(count)  # 输出: 2

sort():对列表进行就地排序,按升序排列。

my_list = [3, 1, 2]
my_list.sort()
print(my_list)  # 输出: [1, 2, 3]

reverse():对列表进行就地反转。

my_list = [1, 2, 3]
my_list.reverse()
print(my_list)  # 输出: [3, 2, 1]

copy():返回列表的浅拷贝。

my_list = [1, 2, 3]
new_list = my_list.copy()
print(new_list)  # 输出: [1, 2, 3]

5. 拆包

        列表拆包是一种将列表中的元素解压并赋值给多个变量的技术。通过列表拆包,可以方便地将列表中的元素分配给单独的变量,以便进一步处理。下面是关于列表拆包的详细说明:

a. 基本拆包

my_list = ['apple', 'banana', 'orange']
fruit1, fruit2, fruit3 = my_list
print(fruit1)  # 输出:'apple'
print(fruit2)  # 输出:'banana'
print(fruit3)  # 输出:'orange'

        在上述示例中,通过将列表中的元素赋值给变量,实现了拆包操作。拆包时,变量的数量必须与列表中的元素数量相匹配。

b. 扩展拆包

        如果列表的长度超过了变量的数量,可以使用扩展拆包运算符(*)将剩余的元素赋值给一个变量。例如:

my_list = ['apple', 'banana', 'orange', 'grape', 'mango']
fruit1, fruit2, *remaining_fruits = my_list
print(fruit1)           # 输出:'apple'
print(fruit2)           # 输出:'banana'
print(remaining_fruits) # 输出:['orange', 'grape', 'mango']

        在上述示例中,`remaining_fruits`变量通过扩展拆包运算符接收了剩余的元素,形成一个新的列表。

 

6. 遍历       

a. 使用for循环

使用for循环可以遍历列表中的所有元素。例如:

my_list = ['apple', 'banana', 'orange']
for fruit in my_list:
    print(fruit)

b. 使用while循环和索引

        使用while循环结合索引可以实现对列表的遍历。例如:

my_list = ['apple', 'banana', 'orange']
index = 0
while index < len(my_list):
    print(my_list[index])
    index += 1

c. 使用enumerate()函数

        使用enumerate()函数可以同时获取元素的索引和值。例如:

my_list = ['apple', 'banana', 'orange']
for index, fruit in enumerate(my_list):
    print(index, fruit)

【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历),Python,深度学习,深度学习,python,numpy

 

 

 

 

 

 

到了这里,关于【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表List详解(初始化、索引、切片、更新、删除、常用函数、拆包、遍历)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python数据容器——列表(list)

    Python中的数据容器: 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素 每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。 数据容器根据特点的不同,如:是否支持重复元素,是否可以修改,是否有序,等 分为5类,分别是: 列表(list)、元组

    2024年02月13日
    浏览(45)
  • 鸿蒙开发系列教程(二十三)--List 列表操作(2)

    在列表项之间添加间距,可以使用space参数,主轴方向 List({ space: 10 }) { … } 分隔线用来将界面元素隔开,使单个元素更加容易识别。 startMargin和endMargin属性分别用于设置分隔线距离列表侧边起始端的距离和距离列表侧边结束端的距离 List() { … } .divider({ strokeWidth: 1, startMargi

    2024年02月19日
    浏览(76)
  • 鸿蒙开发系列教程(二十四)--List 列表操作(3)

    定义列表项数据结构和初始化列表数据,构建列表整体布局和列表项。 提供新增列表项入口,即给新增按钮添加点击事件。 响应用户确定新增事件,更新列表数据。 列表的删除功能一般进入编辑模式后才可使用,所以需要提供编辑模式的入口。 需要响应用户的选择交互,记

    2024年02月21日
    浏览(40)
  • Python数据容器(列表list、元组tuple、字符串str、字典dict、集合set)详解

    相关介绍: 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据 分为五类: 列表[list]、元组(tuple)、字符串(str)、集合{set}、字典{dict} 相应区别: 列表 元祖 字符串 集合 字典 元素数量 多个 多个 多个 多个 多个 元素类

    2024年02月11日
    浏览(84)
  • Python入门教程 | Python3 列表(List)

    序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 Python 有 6 个序列的内置类型,但最常见的是列表和元组。 列表都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python 已经内置

    2024年02月09日
    浏览(45)
  • Python教程(9)——Python变量类型列表list的用法介绍

    在Python中,列表(list)是一种有序、可变的数据结构,用于存储多个元素。列表可以包含不同类型的元素,包括整数、浮点数、字符串等。实际上列表有点类似C++语言中的数组,但仅仅只是类似,和数组还是有点不一样的。列表非常适合利用顺序和位置定位某一元素,尤其是

    2024年02月13日
    浏览(43)
  • SwiftUI 中List动态列表容器视图的使用方法

    List  是 SwiftUI 中用于显示动态列表的容器视图。它接受一个或多个子视图,并根据提供的数据动态生成对应的列表项。 下面是  List  的常见用法和一些常用的参数: 基本用法: 在这个例子中, List  包含了三个  Text  视图作为列表项。 使用  ForEach  进行动态列表生成:  

    2024年02月07日
    浏览(55)
  • (9)OpenCV深度学习系列教程——PyTorch入门

    作者:禅与计算机程序设计艺术 PyTorch是一个由Facebook开发的开源机器学习框架,它提供了一整套用于训练、评估和部署深度学习模型的工具和方法。随着深度学习在各个领域的应用越来越广泛,PyTorch作为一个成熟的框架已经成为机器学习研究人员的必备工具。本系列教程从

    2024年02月07日
    浏览(47)
  • [CMake教程] CMake列表 - list

    列表在CMake中大量使用。初始化列表语法如下: 归根结底,列表只是一个由分号分隔列表项的单个字符串,这使得操作单个列表项变得不太方便。CMake提供了 list() 命令来简化这类任务,他的基本语法如下: 其中, command 是处理列表的命令,每个命令有各自的 other_args ,具体

    2024年02月11日
    浏览(46)
  • dart 学习列表 List

    在 Dart 编程语言中,List 是一种有序的集合数据类型,用于存储一系列项目。它允许您在单个变量中存储多个项目,并提供了许多操作来管理列表中的数据。以下是关于 Dart 中的 List 的一些重要信息: 创建 List: 您可以使用以下方法之一来创建一个 List: 基本操作: List 提供

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包