百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

8种高级的Python列表使用技巧,都给你整理好啦(附实操代码)

toyiye 2024-06-21 12:25 7 浏览 0 评论

Python中的列表是我们最常见的数据结构之一,也是最强大的数据结构之一!Python列表功能非常丰富,并且具有很多隐藏的技巧没有被发现。

一、使用Python过滤列表

1.使用Filter()函数

filter()函数采用两个参数:函数和可迭代项。 在这种情况下,我们将定义一个函数并过滤一个列表。

让我们用一个例子来尝试一下!我们将从列表开始,并过滤出所有小于3的项:

original_list = [1,2,3,4,5]

def filter_three(number):
  return number > 3

filtered = filter(filter_three, original_list)

filtered_list = list(filtered)

print(filtered_list)
# Returns [4,5]

让我们看看这里发生了什么:

  1. 我们定义了原始列表
  2. 然后定义一个接受参数(“ number”)的函数。如果数字大于3,函数将返回True。
  3. 我们定义了一个应用filter函数的项(“ filtered”)。我们的项已筛选,是筛选对象。
  4. 最后,我们创建“ filtered_list”,将列表函数替换为filtered对象。

2.具有列表理解

类似地,我们可以用列表理解过滤列表。记住,列表理解是定义和修改列表非常简单快捷的方式。

让我们看看如何通过列表理解来完成前面的任务:

original_list = [1,2,3,4,5]

filtered_list = [number for number in original_list if number > 3]

print(filtered_list)

# Return [4,5]

从这两个示例中我们可以看出,列表理解是一种更简单,更快捷的过滤列表方法。

二、修改列表

1.使用Map()函数

Python Map函数允许我们将函数应用于可迭代对象中的每个项。

假如我们有一个列表,想返回每个数字的平方。我们可以使用map()函数来实现这一点。让我们看一下具体操作:

original_list = [1,2,3,4,5]

def square(number):
  return number ** 2

squares = map(square, original_list)

squares_list = list(squares)

print(squares)

# Returns [1, 4, 9, 16, 25]

让我们探讨一下这里发生了什么:

首先,我们定义了原始列表和一个返回其参数平方(“number”)的函数。

然后,我们创建一个名为“squares”的新变量,它是map函数的结果,函数和原始列表作为其参数。

最后,我们创建另一个新变量,将list函数应用于squares变量。

这个方法有点复杂!接下来让我们看看清单理解!

2.具有列表理解

我们可以使用列表理解来修改列表项。这甚至是一个更容易和更优雅的方式来编写我们的代码。

让我们尝试一下!

original_list = [1,2,3,4,5]

squares_list = [number ** 2 for number in original_list]

print(squares_list)

# Returns [1,4,9,16,25]

三、将列表与Zip()函数合并

在某些情况下,可能需要合并两个或多个列表。这就是zip()函数的作用:在每个索引处创建一个包含列表对应元素的对象。

让我们用一个例子来尝试一下:

numbers = [1,2,3]

letters = ['a', 'b', 'c']

combined = zip(numbers, letters)

combined_list = list(combined)

# returns [(1, 'a'), (2, 'b'), (3, 'c')]

四、颠倒列表

Python列表是有序的数据结构。因此,项目的顺序很重要。有时我们可能需要颠倒列表中的项,这可以使用Python切片操作轻松完成。

让我们用一个例子来尝试一下:

original_list = [1,2,3,4,5]

reversed_list = original_list[::-1]

print(reversed_list)

# Returns: [5,4,3,2,1]

五、检查列表中的成员身份

有时我们想查看列表中是否存在某个项。

我们只需使用in运算符即可完成此操作。

games = ['Yankees', 'Yankees', 'Cubs', 'Blue Jays', 'Giants']

def isin(item, list_name):
  if item in list_name: print(f"{item} is in the list!")
  else: print(f"{item} is not in the list!")

isin('Blue Jays', games)
isin('Angels', games) 

# Returns
#Blue Jays在名单上!
#Angels不在名单上!

六、查找列表中最常见的项

如果你想在列表中找到最常见的项。例如,你可能在列表中记录了正反面游戏的获胜者,并且想知道哪个赢得最多。

games = ['heads', 'heads', 'tails', 'heads', 'tails']
items = set(games)
print(max(items, key = games.count))

让我们看看这段代码做什么:

  1. 我们用五个正面或反面游戏的结果来定义一个列表;
  2. 我们定义了列表中所有项的集合。set()函数过滤掉了列表中的重复项;
  3. 最后,我们将max()应用于项目集,并使用key参数作为集合中元素的最高计数。

七、展开列表

有时我们会得到一个列表,其中包含其他列表,也就是表中有表。你可以使用列表理解轻松做到这一点!

让我们尝试一下:

nested_list = [[1,2,3],[4,5,6],[7,8,9]]

flat_list = [i for j in nested_list for i in j]

print(flat_list)

# Returns [1, 2, 3, 4, 5, 6, 7, 8, 9]

八、检查唯一性

如果需要检查列表中的所有项是否唯一,则可以使用集合的功能来完成此操作!

Python中的集合类似于列表(因为它是可变且无序的),但是它只能包含唯一的项。

为此,我们需要使用一个函数将列表转换为一个集合,并比较两个项的长度::

list1 = [1,2,3,4,5]
list2 = [1,1,2,3,4]

def isunique(list):
  if len(list) == len(set(list)):
    print('Unique!')
  else: print('Not Unique!')

isunique(list1)
isunique(list2)

# Returns 
# 唯一性
# 不唯一

--END--

希望你学到了以上关于列表的新知识,以及如何以不同的方式运用起来!

你也可以关注我们的公众号:为AI呐喊(weainahan),领取更多Python学习资料

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码