iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么实现一个序列推导式
  • 342
分享到

Python中怎么实现一个序列推导式

2023-06-20 15:06:05 342人浏览 独家记忆

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

摘要

python中怎么实现一个序列推导式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、列表推导式作用:用一个表达式创建一个有规律的列表或控制一个有规律列表。列表

python中怎么实现一个序列推导式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、列表推导式

作用:用一个表达式创建一个有规律的列表或控制一个有规律列表。

列表推导式又叫列表生成式。

(1)快速体验

需求:创建一个0-10的列表。

while循环实现

# 1. 准备一个空列表list1 = []# 2. 书写循环,依次追加数字到空列表list1中i = 0while i < 10:    list1.append(i)    i += 1# 结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(list1)

for循环实现

list1 = []for i in range(10):    list1.append(i)# 结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(list1)

列表推导式实现

"""因为是列表推导式,所以等号右边的表达式要用[]括起来因为最终要返回一个列表。在推导式中,读与写都从for循环开始,for的左侧是一个返回值,一次for循环返回的数值。for每一次遍历,都向列表中添加一个i变量。"""# 结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]list1 = [i for i in range(10)]print(list1)

列表推导式就是化简代码,创建或控制有规律的列表。

(2)带if的列表推导式

需求:创建0-10的偶数列表

方法一:通过range()步长实现

# 结果:[0, 2, 4, 6, 8]list1 = [i for i in range(0, 10, 2)]print(list1)

方法二:通过if实现

# 1. for循环加if 创建有规律的列表list2 = []for i in range(10):    if i % 2 == 0:        list2.append(i)# 结果:[0, 2, 4, 6, 8]print(list2)# 2.把for循环配合if的代码 改写 带if的列表推导式list1 = [i for i in range(10) if i % 2 == 0]# 结果:[0, 2, 4, 6, 8]print(list1)

(3)多个for循环实现列表推导式

需求,创建列表如下:

[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

代码如下:

list1 = [(i, j) for i in range(1, 3) for j in range(3)]print(list1)# 推导过程如下# 多for的列表推导式等同于for循环嵌套# [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]# 数据1 : 1 和 2  range(1,3)# 数据2 :0 1 2  range(3)list1 = []for i in range(1, 3):    for j in range(3):        # 列表里面追加元组: 循环前准备一个空列表,        # 然后这里追加元组数据到列表        list1.append((i, j))print(list1)# 多个for实现列表推导式list2 = [(i, j) for i in range(1, 3) for j in range(3)]print(list2)

2、字典推导式

思考:如果有如下两个列表:

list1 = ['name', 'age', 'gender']list2 = ['Tom', 20, 'man']

如何快速合并为一个字典?

答:用for循环拼接可以实现,但是我们可以通过改写for循环,变成一个字典推导式。

字典推导式作用:快速合并列表为字典或提取字典中目标数据。

通过下面示例快速体验字典推导式。

(1)创建一个字典

字典key是1-5数字,value是这个数字的2次方。

# dict1 = {k: v for i in range(1, 5)}dict1 = {i: i**2 for i in range(1, 5)}print(dict1)  # {1: 1, 2: 4, 3: 9, 4: 16}

{i:i**2}表示的是一个字典,keyivaluei**2

最后要返回一个字典,所以右边表达式的最外层是一个大括号。

(2)将两个列表合并为一个字典

list1 = ['name', 'age', 'gender']list2 = ['Tom', 20, 'man']dict1 = {list1[i]: list2[i] for i in range(len(list1))}print(dict1)# 结果:{'name': 'Tom', 'age': 20, 'gender': 'man'}

总结

如果两个列表数据个数相同,len统计任何一个列表的长度都可以。

如果两个列表数据个数不同,len统计数据多的列表数据个数会报错;len统计数据少的列表数据个数不会报错。(这点一定要注意)

(3)提取字典中目标数据

counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}# 需求:提取上述电脑数量大于等于200的字典数据count1 = {key: value for key, value in counts.items() if value >= 200}print(count1)  # {'MBP': 268, 'DELL': 201}

3、集合推导式

集合推导式比上面两个推导式使用的频率要少很多。

需求:创建一个集合,数据为下方列表的2次方。

list1 = [1, 1, 2]

代码如下:

list1 = [1, 1, 2]set1 = {i ** 2 for i in list1}print(set1)  # {1, 4}

注意:集合有数据去重功能。

4、补充提示

我们如何查看Python中关于序列的相关文档:

  • 打开文件找到序列部分文档

  • [The Python Standard Library(Python标准库)] —> 右边页面[Sequence Type]

Python中怎么实现一个序列推导式

  • Common Sequence Operations下的列表为序列的通用操作。

  • 就是可变序列和不可变序列都可以用的方法或者函数。

  • Mutable Sequence Types下的列表为可变序列可以用的方法或者函数。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网Python频道,感谢您对编程网的支持。

--结束END--

本文标题: Python中怎么实现一个序列推导式

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

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

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

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

下载Word文档
猜你喜欢
  • Python中怎么实现一个序列推导式
    Python中怎么实现一个序列推导式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、列表推导式作用:用一个表达式创建一个有规律的列表或控制一个有规律列表。列表...
    99+
    2023-06-20
  • Python中怎么实现列表推导式
    Python中怎么实现列表推导式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。列表解析式(List comprehension)或者称为列表推导式,是 Python 中非常...
    99+
    2023-06-15
  • Python序列的推导式实现代码
    推导式comprehensions(又称解析式),是Python的一种独有特性。 推导式是可以从一个数据序列构建另一个新的数据序列(的一种结构体)。 Python中共有三种推导,在P...
    99+
    2024-04-02
  • Python列表推导式与字典推导式的实现
    目录列表推导式 for 循环写法 列表推导式写法 列表推导式还支持嵌套 字典推导式 元组推导式与集合推导式 总结 在 Python 中推导式是一种非常 Pythonic 的知识,本篇...
    99+
    2024-04-02
  • python中列表推导式怎么用
    这篇文章主要为大家展示了“python中列表推导式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中列表推导式怎么用”这篇文章吧。列表推导式在各...
    99+
    2024-04-02
  • Python中的列表推导式怎么用
    小编给大家分享一下Python中的列表推导式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生...
    99+
    2023-06-25
  • python怎么用列表推导式
    小编给大家分享一下python怎么用列表推导式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!列表(list)推导式关于 Python 编程,我最喜欢的事情之一是它...
    99+
    2023-06-27
  • Python 中的列表推导式
    Python 中的列表推导式 简单用法添加多个条件多个列表使用替换 Reduce 和 Lambda嵌套列表推导式 列表推导式是一种 Python 构造,可减少生成新列表或过滤现有列表所需的...
    99+
    2023-10-25
    python
  • python如何实现列表推导表达式
    这篇文章主要为大家展示了“python如何实现列表推导表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何实现列表推导表达式”这篇文章吧。列表推导表达式列表推导表达式是创建列表的...
    99+
    2023-06-27
  • Python列表推导式怎么应用
    Python列表推导式列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表.一、range()函数python的range()函数可用来创建一个整数列表,一般用在 for 循环中.range()语法...
    99+
    2023-05-20
    Python
  • Python中怎么利用列表推导式实现轻量级循环
    这期内容当中小编将会给大家带来有关Python中怎么利用列表推导式实现轻量级循环,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。单循环[i for i in rang...
    99+
    2023-06-15
  • python如何实现列表推导
    这篇文章主要为大家展示了“python如何实现列表推导”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何实现列表推导”这篇文章吧。列表推导已知一个列表,刷选出偶数列表方法:numbe...
    99+
    2023-06-05
  • Python的列表推导式是什么
    这篇“Python的列表推导式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的列表推导式是什么”文章吧。语...
    99+
    2023-06-29
  • python列表推导式中使用if-els
       今天在处理自动化邮件数据时碰到数据行中包含字符串后,从hive中拿到的整数型数据自动转化成了浮点数,严重影响美观性。因此想到了用列表推导式来做转化,将其中的数字型数据全部转化为整型,而字符型数据保留原样。列表推导式总共有两种形式:①[...
    99+
    2023-01-31
    列表 python els
  • MyCat 中怎么实现一个全局序列号
    这期内容当中小编将会给大家带来有关MyCat 中怎么实现一个全局序列号,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 本地文件方式原理:此方式 MyCAT 将 seq...
    99+
    2024-04-02
  • python推导式怎么用
    这篇“python推导式怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python推导式怎么用”文章吧。一、dict推...
    99+
    2023-06-29
  • python列表推导式实现找出列表中长度大于5的名字
    目录列表推导式找出列表中长度大于5的名字任务我的笨办法python列表推导式例如列表推导式找出列表中长度大于5的名字 任务 给定一个列表,使用列表推导式找出列表中长度大于5的名字,并...
    99+
    2024-04-02
  • python怎么实现字典推导
    这篇文章给大家分享的是有关python怎么实现字典推导的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。字典推导>>> m = {x:...
    99+
    2024-04-02
  • Python全栈推导式和生成器怎么实现
    本篇内容主要讲解“Python全栈推导式和生成器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python全栈推导式和生成器怎么实现”吧!1. 推导式# ### 推导...
    99+
    2023-06-21
  • Python中怎么实现序列化与反序列化
    这篇文章给大家介绍Python中怎么实现序列化与反序列化,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python序列化与反序列在程序运行的过程中,所有的变量都是在内存中,比如,定义一个 dict:d =&n...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作