Python 程序设计入门(008)—— 列表的操作(3):列表推导式

这篇具有很好参考价值的文章主要介绍了Python 程序设计入门(008)—— 列表的操作(3):列表推导式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python 程序设计入门(008)—— 列表的操作(3):列表推导式

使用列表推导式可以快速生成一个列表。或者根据某个列表生成满足指定需求的列表。列表推导式包含在方括号内,它由一个表达式、一个或多个 for 循环和一个用于过滤生成的列表的可选条件组成。

列表推导式的语法格式如下:

new_list = [expression(item) for item in iterable if condition]

相当于如下语句:
new_list = []
for item in iterable:
    if condition:
        new_list.append(expression(item))

说明:

(1)Expressinon:表达式,用于计算列表的元素。

(2)item:循环变量。

(3)iterable:可迭代对象。

(4)condition:条件。

一、基本应用举例

1、生成 1 到 10 组成的列表

num1 = [x for x in range(1,11)]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

上面的例子表示:按照 int 类型的长度分配两块连续区域,强制转换为 int 类型的指针,并把首地址赋予指针变量 ps。

2、生成 2-20 之间的偶数组成的列表

num1 = [2*x for x in range(1,11)]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

3、生成 1-19 之间的奇数组成的列表

num1 = [2*x-1 for x in range(1,11)]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

4、生成嵌套列表

num1 = [[x,x**2,x**3] for x in range(1,11)]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[[1, 1, 1], [2, 4, 8], [3, 9, 27], [4, 16, 64], [5, 25, 125], [6, 36, 216], [7, 49, 343], [8, 64, 512], [9, 81, 729], [10, 100, 1000]]

二、添加条件

1、生成 10 偶数组成的列表

num1 = [x for x in range(1,11) if x%2==0]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10]

2、生成 10 奇数组成的列表

num1 = [x for x in range(1,11) if x%2==1]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[1, 3, 5, 7, 9]

3、生成 1-3 与 7-10 之间的整数组成的列表

num1 = [x for x in range(1,11) if x>=7 or x<=3]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[1, 2, 3, 7, 8, 9, 10]

4、如果 x 的值介于 2 和 5 之间,则列表推导式返回 2*x,否则返回 x**2

num1 = [2*x if x>=2 and x<=5 else x**2 for x in range(1,11)]
print(num1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[1, 4, 6, 8, 10, 36, 49, 64, 81, 100]

三、使用 zip() 函数组合多个列表

与 zip 函数一起使用的列表推导返回一个元组列表,其中第 n 个元组包含每个列表的第 n 个元素。

例1:

cities = ['Rome', 'Warsaw', 'London']
countries = ['Italy', 'Poland', 'United Kingdom']
list1 = [(city, country) for city, country in zip(cities, countries)]
print(list1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[('Rome', 'Italy'), ('Warsaw', 'Poland'), ('London', 'United Kingdom')]

例2:

a = [2, 3, 4, 5]
b = [12, 13, 14, 15]
list1 = [x+y for x,y in zip(a,b)]
print(list1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[14, 16, 18, 20]

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

a = [2, 3, 4, 5]
b = [12, 13, 14, 15]
c = [22, 23, 24, 25]
list1 = [2*x+3*y+z for x,y,z in zip(a,b,c)]
print(list1)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[62, 68, 74, 80]

四、嵌套列表推导式

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [[x*2 for x in row] for row in list1]
print(list2)

运行结果为:
===================== RESTART: C:\Python\Python38\First.py =====================
[[2, 4, 6], [8, 10, 12], [14, 16, 18]]

到了这里,关于Python 程序设计入门(008)—— 列表的操作(3):列表推导式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python 程序设计入门(017)—— 选择结构程序设计

    程序中的选择结构也称为判断结构,按照条件选择执行不同的代码片段。Python 中的选择结构主要有三种形式:if 语句、if…else 语句和 if…elif…else 语句。 if 语句的语法格式如下: 说明: (1)表达式:可以是比较表达式或逻辑表达式。如果表达式的值为 True,则执行语句块

    2024年02月13日
    浏览(28)
  • Python 程序设计入门(022)—— 循环结构程序设计(3):循环的嵌套

    在编程时,循环语句的嵌套是很常见的,循环嵌套是指在一个循环语句中又包含另一个循环语句。例如:在 for 循环中嵌入另一个 for 循环或 while 循环,在 while 循环中嵌入另一个 while 循环或 for 循环等。 1、使用双层 for 循环 代码如下: 代码如下: 1、使用 for 循环中嵌套 w

    2024年02月12日
    浏览(24)
  • Python列表差异值统计:集合操作、列表推导式、对称差集详解

      在Python中,统计两个列表的差异值有多种方法,其中包括使用集合操作、列表推导式等。下面我将通过实例详细讲解几种常见的方法,并提供相应的实例源代码。 这些方法各有优缺点,选择使用哪一种取决于你的具体需求和性能考虑。方法一和方法三使用了集合操作,可能

    2024年02月01日
    浏览(67)
  • Python 程序设计入门(023)—— Python 的自定义函数

    在 Python 中,函数的应用非常广泛。比如:input()、print()、str()、range()、len() 等,这些称为 Python 的内置函数,可以直接使用。Python 支持自定义函数,即将一段有规律的、可重复使用的代码定义为函数,达到一次编写,多次使用的目的。 自定义函数使用 def 实现,语法格

    2024年02月12日
    浏览(27)
  • Python 列表推导式:简洁、高效的数据操作艺术

    Python 的列表推导式,这个看似简单的语法糖,实则内含无限威力。在 Python 代码编写中,列表推导式的灵活性和简洁性让它成为了不可或缺的一部分。在这篇文章中,我们将更全面、更深入地探讨列表推导式,从基础的概念认识,到各类进阶的用法和操作,我们一一揭秘。最

    2024年02月08日
    浏览(39)
  • 【Python 程序设计】包和数据人员入门【01/8】

            一个坚实的Python项目的基础是掌握模块,包和导入。 以下文章是有关 Python 数据工程系列文章的一部分,旨在帮助数据工程师、数据科学家、数据分析师、机器学习工程师或其他刚接触 Python 的人掌握基础知识。         迄今为止,本初学者指南包括: 第 1 部

    2024年02月09日
    浏览(25)
  • Python 程序设计入门(018)—— format() 函数的用法详解

    format() 函数可以对数据进行格式化处理,将值转换为由 format_spec 控制的【格式化】表示形式。format() 函数的语法格式如下: 说明: (1)value:要转换的数据。 (2)format_spec:格式化解释,取决于值参数的类型; (3)默认情况下,format_spec 是一个空字符串,通常与调用 st

    2024年02月03日
    浏览(25)
  • Swing程序设计(10)列表框,文本框,文本域,密码框

    文章目录 前言 一、列表框 二、文本框(域) 1.文本框 2.文本域 三、密码框 总结       该篇文章简单介绍了Java中Swing组件里的列表框、文本框、密码框。         列表框(JList)相比下拉框,自身只是在窗体上占据固定的大小。如果需要完全显示列表框信息,可以将列表框

    2024年02月22日
    浏览(30)
  • 基于微信评选投票小程序毕业设计作品成品(13)参赛列表和参赛排名接口

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月07日
    浏览(35)
  • 基于微信座位预约预订小程序毕业设计成品作品(9)我的预约列表接口

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月07日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包