iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python列表推导式详情
  • 293
分享到

Python列表推导式详情

2024-04-02 19:04:59 293人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1、列表生成式1.1 案例2、集合生成式3、字典生成式1、列表生成式 列表生成式即List Comprehensions,是python内置的非常简单却强大的可以用来创建list

1、列表生成式

列表生成式即List Comprehensions,是python内置的非常简单却强大的可以用来创建list的生成式。

语法结构如下:


# 普通的生成式
[表达式 for 变量 in 旧列表]
# 加条件的生成式
[表达式 for 变量 in 旧列表 if 条件]
# if...else条件的生成式
[表达式 if 条件1 else 条件2for 变量 in 旧列表]

1.1 案例

过滤掉名词字母不足4的名字,示例代码如下:


names = ["Tom", "Lily", "Jack", "Steven", "Bod"]
# 在不是用列表生成式的过程
news_names = []
for name in names:
    if len(name) > 3:
        news_names.append(name)
print(news_names)  # ['Lily', 'Jack', 'Steven']
# 使用列表生成式
new_names = [name for name in names if len(name) > 3]
print(new_names)  # ['Lily', 'Jack', 'Steven']

显而易见,使用列表生成式可以节省很多行代码

将1-100的整数可以被3和5整除的数字,组成一个新的列表.示例代码,示例代码如下所示:


# 将1-100的整数可以被3和5整除的数字,组成一个新的列表
# 旧方法
number_list = []
for i in range(101):
    if i % 3 == 0 and i % 5 == 0:
        number_list.append(i)
print(number_list)  # [0, 15, 30, 45, 60, 75, 90]

# 列表生成式
new_num_list = [i for i in range(101) if i % 3 == 0 and i % 5 == 0]
print(new_num_list)  # [0, 15, 30, 45, 60, 75, 90]

将0到10的奇数和0到5的偶数组成一个不重复的列表,示例代码如下所示:


# 将0到10的奇数和0到5的偶数组成一个不重复的列表
# 旧方法
news_number_list = []
for x in range(10):
    if x % 2 != 0:
        for y in range(5):
            if y % 2 == 0:
                news_number_list.append([x, y])
print(news_number_list)
# [[1, 0], [1, 2], [1, 4], [3, 0], [3, 2], [3, 4], [5, 0], [5, 2], [5, 4], [7, 0], [7, 2], [7, 4], [9, 0], [9, 2],[9, 4]]

# 新方法
news_num_list = [[x, y]
                 for x in range(10) if x % 2 != 0 for y in range(6) if y % 2 == 0]
print(news_num_list)
# [[1, 0], [1, 2], [1, 4], [3, 0], [3, 2], [3, 4], [5, 0], [5, 2], [5, 4], [7, 0], [7, 2], [7, 4], [9, 0], [9, 2],[9, 4]]

同样支持多个for语句,如果使用原来的那种方法的话层级结构太深了,使用生成式一行解决

将列表中的数字大于8000的加200 小于等于8000的加500,示例代码如下:


# 将列表中的数字大于8000的加200 小于等于8000的加500
number = [5000, 10000, 4500, 80000, 12000]

# 旧方法
for i in number:
    if i > 8000:
        i += 200
    else:
        i += 500
print(number)  # [5000, 10000, 4500, 80000, 12000]

# 新方法
new_number = [i + 200 if i > 8000 else i + 500 for i in number]
print(new_number)  # [5000, 10000, 4500, 80000, 12000]

2、集合生成式

语法结构如下所示:


# 普通的生成式
{表达式 for 变量 in 旧列表}
# 加条件的生成式
{表达式 for 变量 in 旧列表 if 条件}
# if...else条件的生成式
{表达式 if 条件1 else 条件2for 变量 in 旧列表}

语法结构与列表生成式基本相同,但是因为集合不允许有重复,所有得出的结果自动去重

3、字典生成式

字典生成式与集合生成式和列表生成式的语法结构一致,唯一不同的是字典是以键值对的形式存放信息的,如下例子中我们将dict中的键值互换,

示例代码如下:


# 将字典的键值对互换
dict1 = {"a": "A", "b": "B", "c": "C"}
# 就方法
new_dict1 = {}
for key, value in dict1.items():  # 返回一个存放键值对的元组
    new_dict1[value] = key
print(new_dict1)  # {'A': 'a', 'B': 'b', 'C': 'c'}

# 新方法
news_dict1 = {value: key for key, value in dict1.items()}
print(news_dict1)  # {'A': 'a', 'B': 'b', 'C': 'c'}


item方法:返回可遍历的(键, 值) 元组数组。

到此这篇关于Python列表推导式详情的文章就介绍到这了,更多相关Python列表推导式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python列表推导式详情

本文链接: https://www.lsjlt.com/news/156090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python列表推导式详情
    目录1、列表生成式1.1 案例2、集合生成式3、字典生成式1、列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list...
    99+
    2024-04-02
  • Python列表推导式详解
    目录Python列表推导式一、range()函数二、列表推导式三、代码可读性四、字典推导式五、集合推导式Python列表推导式 列表推导式是Python构建列表(list)的一种快捷...
    99+
    2023-05-15
    Python列表推导式 列表推导式 Python推导式
  • Python列表推导式和嵌套的列表推导式
    列表推导式提供了一个更简单的创建列表的方法。常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列。 例如,假设我们想创建一个平方列表,像这样 >>...
    99+
    2023-01-31
    列表 嵌套 Python
  • Python推导式使用详情
    目录推导式什么是推导式基本语法其它使用方法列表推导式练习题集合推导式字典推导式字典推导式常用以配合的函数enumeratezip优先使用推导式推导式 什么是推导式 推导式是 for ...
    99+
    2024-04-02
  • Python列表推导式,元组推导式,字典推导式,集合推导式
    目录1 介绍2 列表推导式3 元组推导式4 字典推导式5 集合推导式1 介绍 推导式(解析器):是Python独有的一种特性。使用推导式可以快速生成列表、元组、字典以及集合类型的数据...
    99+
    2024-04-02
  • Python 中的列表推导式
    Python 中的列表推导式 简单用法添加多个条件多个列表使用替换 Reduce 和 Lambda嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的...
    99+
    2023-10-25
    python
  • Python列表推导式与字典推导式的实现
    目录列表推导式 for 循环写法 列表推导式写法 列表推导式还支持嵌套 字典推导式 元组推导式与集合推导式 总结 在 Python 中推导式是一种非常 Pythonic 的知识,本篇...
    99+
    2024-04-02
  • python怎么用列表推导式
    小编给大家分享一下python怎么用列表推导式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!列表(list)推导式关于 Python 编程,我最喜欢的事情之一是它...
    99+
    2023-06-27
  • Python列表推导式怎么应用
    Python列表推导式列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表.一、range()函数python的range()函数可用来创建一个整数列表,一般用在 for 循环中.range()语法...
    99+
    2023-05-20
    Python
  • python中列表推导式怎么用
    这篇文章主要为大家展示了“python中列表推导式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中列表推导式怎么用”这篇文章吧。列表推导式在各...
    99+
    2024-04-02
  • Python的列表推导式是什么
    这篇“Python的列表推导式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的列表推导式是什么”文章吧。语...
    99+
    2023-06-29
  • python列表推导式 经典代码
    目录一.什么是推导式二.条件推导式1.语法2.实战练习三.列表推导式1.语法2.实战练习3.效率对比四.重点总结在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把...
    99+
    2024-04-02
  • python基础操作列表推导式
    目录python基础——列表推导式一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤python基础——列表推导式 一、实验...
    99+
    2023-05-17
    python列表 python列表推导式
  • python如何实现列表推导表达式
    这篇文章主要为大家展示了“python如何实现列表推导表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何实现列表推导表达式”这篇文章吧。列表推导表达式列表推导表达式是创建列表的...
    99+
    2023-06-27
  • 如何使用Python列表推导表达式
    小编给大家分享一下如何使用Python列表推导表达式,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用Python列表推导表达式列表推导表达式是从另一个列表创建列表的一种非常紧凑的方法。 看下面的代码。 第一个是使用简单的...
    99+
    2023-06-27
  • python中列表推导式与生成器表达式对比详解
    目录概述列表推导式生成器表达式使用场景选择参考总结概述 Python中的列表推倒式(List Comprehension) 和 生成器表达式(Generator Expression...
    99+
    2023-01-07
    python 列表推导式 python 生成器表达式
  • python列表详情
    目录1.列表2.使用格式3.一些很有用的函数4.元组 tuple5.元组的常用函数1.列表 python没有数组,而是引入了列表(list),列表可以存储任何类型的数据,而且同一个...
    99+
    2024-04-02
  • Python 知识点: 列表推导式(list comprehension)
    Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。...
    99+
    2023-06-02
  • python列表推导式中使用if-els
       今天在处理自动化邮件数据时碰到数据行中包含字符串后,从hive中拿到的整数型数据自动转化成了浮点数,严重影响美观性。因此想到了用列表推导式来做转化,将其中的数字型数据全部转化为整型,而字符型数据保留原样。列表推导式总共有两种形式:①[...
    99+
    2023-01-31
    列表 python els
  • Python的列表推导式你了解吗
    目录语法实例总结语法 1.普通 [expression for target in iterable] 2.带条件 [expression for target in iterab...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作