python基础篇: Python列表轻松管理数据的有序集合!

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: python基础篇: Python列表轻松管理数据的有序集合!

Python中的列表是一种强大且常用的数据结构,用于存储有序的元素集合。让我们快速了解列表的基本概念,并发现它在数据处理中的重要作用!

📚 创建列表

创建一个列表,只需要把逗号分隔的不同数据项使用方括号[]括起来即可。

  • 创建空列表
    list0=[]
    
  • 创建非空列表
    list1 = ['Baidu', 'Alibaba', 'Tencent']
    
  • 使用list()函数创建列表
    list2 = list() #创建一个空列表
    
  • 使用列表推导式创建列表
    list3 = [ x*x for x in range(1,10)] # 10以内的平方
    print(list)
    
    运行结果如下:
    [1, 4, 9, 16, 25, 36, 49, 64, 81]
    
    与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

🔢访问列表

列表中的每个元素都有一个唯一的索引值,可以使用该索引来访问和修改元素。

  • 正向索引:从左向右,第一项的索引为 0,第二项的索引为1,依次类推
    list = ["apple", "banana", "cherry"]
    print(list[0])   #  访问列表中正向索引序号为0的列表元素
    print(list[2])   #  访问列表中正向索引序号为2的列表元素
    

运行结果:

apple
cherry
  • 逆向索引:从右向左,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推
list = ["apple", "banana", "cherry"]
print(list[-1])  #  访问列表中逆向索引序号为-1的列表元素
print(list[-2])  #  访问列表中逆向索引序号为-2的列表元素

运行结果:

cherry
banana

🔄 列表切片

  • 语法格式
    列表名[<开始索引>:<结束索引>]
    
    • 表示搜索将从开始索引(包括)开始,到结束索引(不包括)结束。
    • 搜索时若不指定索引开始,则默认从索引0开始
    • 搜索时若不指定索引结束,则到索引-1(包括)结束。
    • 指定范围后,返回值将是包含指定列表项的新列表。
      list = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
      print(list[2:5])    #  访问列表中从序号2开始到序号5(不包括)的列表元素
      print(list[:3])     #  访问列表中从序号0开始到序号3(不包括)的列表元素
      print(list[3:])     #  访问列表中从序号3开始的所有列表元素
      print(list[:])      #  访问所有的列表元素
      
      运行结果
      ['cherry', 'orange', 'kiwi']
      ['apple', 'banana', 'cherry']
      ['orange', 'kiwi', 'melon', 'mango']
      ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
      

🔄更改列表

  1. 通过索引号来更改指定列表元素.

语法格式:列表名[索引] = 值

list = ["apple", "banana", "cherry", "orange"]
list[0] = '苹果'
print(list)

运行结果

['苹果', 'banana', 'cherry', 'orange']
  1. 通过切片来更改列表元素

语法格式:列表名[索引范围] = 值,具体可以理解为用后面几个值替换索引范围内的几个列表项

list1 = ["apple", "banana", "cherry", "orange"]
list1[:2]  = ['苹果','香蕉','樱桃']   #  使用指定的3个元素替换序号0-1的2个列表项
print(list1)

运行结果:

['苹果', '香蕉', '樱桃', 'cherry', 'orange']

➕ 增加列表

  1. 可以使用append()方法在列表末尾添加新元素。

语法格式:列表名.append(值),该方法默认是在列表的末尾增加元素

list = ["apple", "banana", "cherry"]
list.append("orange")   #  在列表末尾添加元素"orange"
print(list)

运行结果:

['apple', 'banana', 'cherry', 'orange']
  1. 使用 insert() 方法追加列表元素

语法格式:列表名.insert(索引,值)

该方法可以在列表的指定位置增加元素,增加后原位置及其后面的元素自动后移

list = ["apple", "banana", "cherry"]
list.insert(1,"orange")   #  在列表正向索引序号1处加元素"orange"
print(list)
  1. 使用 extend() 方法追加列表元素

语法格式:列表名.extend(序列)

该方法可以将序列中的所有值,一次性添加在列表的末尾

list1 = ["apple", "banana", "cherry"]
list2 = ['orange', 'kiwi', 'melon', 'mango']
list1.extend(list2)   #  在list2中的元素全不追加至list1的末尾
print(list1)

运行结果:

['apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango']

➖ 删除列表

  1. 使用 remove() 方法可以删除列表中指定的元素。

语法格式:列表名.remove(元素)

当删除的目标值元素有多个时,每次执行只能删除一个元素,且删除的是索引位置最小的那个。

list = ["apple", "banana", "cherry","apple"]
list.remove("apple")   #  删除列表中第一个"apple"元素
print(list)

运行结果:

['banana', 'cherry', 'apple']
  1. 使用 pop() 方法删除列表元素

语法格式:

  • 列表名.pop(),弹出末尾元素,pop不传参数是弹出最后一个元素,
  • 列表名.pop(索引),弹出索引位置元素
list = ["apple", "banana", "cherry","apple"]
list.pop()    #  弹出末尾元素
print(list)
list.pop(0)
print(list)

运行结果:

['apple', 'banana', 'cherry']
['banana', 'cherry']
  1. 使用 del 关键字删除
  • 语法格式:del 列表名,删除整个列表(从内存中删除)
  • del 列表名[索引],删除指定索引位置的列表元素
  • del 列表名[索引范围],删除指定索引范围内的列表元素
list1 = ["apple", "banana", "cherry","apple"]
del list1
print(list1)

list2 = ["apple", "banana", "cherry","apple"]
del list2[1]
print(list2)

运行结果:

NameError: name 'list' is not defined
['apple', 'cherry', 'apple']
  1. 使用 clear() 删除

语法格式:列表名.clear(),清除列表中所有元素(清除后仍存在空列表)

list = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
list.clear()
print(list)

运行结果:

[]

🎲 列表排序

  1. 使用 sort() 方法对列表进行排序
  • 语法格式:列表名.sort(),将列表元素正序排序(该排序更改列表的本身)

注意 sort() 排序本身是区分大小写的,先排序首字母为大写的,再排序首字母为小写的

list = ["Melon", "banana", "apple","Cherry", "orange", "kiwi", "mango"]
list.sort()  #  按照ASCLL排序,先排序首字母为大写的,再排序首字母是小写的
print(list)

运行结果:

['Cherry', 'Melon', 'apple', 'banana', 'kiwi', 'mango', 'orange']
  1. 通过参数 key=str.lower 使排序不区分大小写
    list = ["Melon", "banana", "apple","Cherry", "orange", "kiwi", "mango"]
    list.sort(key=str.lower)  #  对字符串排序不区分大小写,相当于将所有元素转换为小写,再排序
    print(list)
    
    运行结果:
    ['apple', 'banana', 'Cherry', 'kiwi', 'mango', 'Melon', 'orange']
    
  2. 通过参数 reverse=True 来使sort() 实现倒序排序,反之reverse=False 则为正序
list = ["melon", "banana", "apple","cherry", "orange", "kiwi", "mango"]
list.sort(reverse=True)
print(list)

运行结果

['orange', 'melon', 'mango', 'kiwi', 'cherry', 'banana', 'apple']
  1. 通过参数 key=len 按元素长度排序,相同长度的再默认排序
list = ["Melon", "banana", "apple","Cherry", "orange", "kiwi", "mango"]
list.sort(key=len)  #  先计算元素长度,再按长度正序排序,相同长度的再默认排序
print(list)

运行结果:

['kiwi', 'Melon', 'apple', 'mango', 'banana', 'Cherry', 'orange']
  1. 使用 sorted() 方法对列表进行排序

语法格式:新列表 = sorted(列表名, reverse=False),将列表排序后赋值给其他列表,不改变原列表

list1 = ["melon", "banana", "apple","cherry", "orange", "kiwi", "mango"]
list2 = sorted(list1)
print(list1)
print(list2)

运行结果:

['melon', 'banana', 'apple', 'cherry', 'orange', 'kiwi', 'mango']
['apple', 'banana', 'cherry', 'kiwi', 'mango', 'melon', 'orange']
  1. 使用 reverse() 方法翻转列表

语法格式:列表名.reverse(),将列表倒序排序

list = ["melon", "banana", "apple","cherry", "orange", "kiwi", "mango"]
list.reverse()
print(list)

运行结果:

['mango', 'kiwi', 'orange', 'cherry', 'apple', 'banana', 'melon']

列表的其他使用

  • 使用 len() 返回列表有多少元素
  • 使用 count() 返回元素出现的次数
  • 使用 index() 返回具有指定值的第一个元素的索引
  • 检查列表中使用存在指定元素
  • 返回列表元素最大值
  • 返回列表元素最小值

总结

Python列表是数据处理中不可或缺的工具,它们可存储不同数据类型的元素,灵活应用于各种场景!

让我们一起探索Python列表的丰富功能,轻松管理数据集合吧!

目录
相关文章
|
1天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
22 12
|
6天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
2月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
2月前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
2月前
|
索引 Python
Python列表
Python列表。
55 8
|
2月前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
46 9
|
2月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
78 14
|
2月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
137 10
|
2月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。

推荐镜像

更多