首页 > 编程语言 >Python推导式

Python推导式

时间:2024-11-28 18:33:12浏览次数:8  
标签:推导 16 Python range num print output

列表(list)推导式

# 带有条件的列表推导式
nums = [1, 2, 3, 4, 5]
print([i * i for i in nums if i > 2])  # output:[9, 16, 25]

# 嵌套的列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print([j for i in matrix for j in i])
# output:[1, 2, 3, 4, 5, 6, 7, 8, 9]
print([[i for i in range(3)] for j in range(3)])
# output:[[0, 1, 2], [0, 1, 2], [0, 1, 2]]

字典(dict)推导式

# 带有条件的字典推导式
numbers = [1, 2, 3, 4, 5]
print({num: num * num for num in numbers if num > 2})  # output:{3: 9, 4: 16, 5: 25}
keys = ['a', 'b', 'c']
values = [1, 2, 3]

# 嵌套的字典推导式
print({keys[i]: values[i] for i in range(len(keys))})  # output:{'a': 1, 'b': 2, 'c': 3}
print({i: {str(j): i * j for j in range(1, 3)} for i in range(1, 3)})
# output:{1: {'1': 1, '2': 2}, 2: {'1': 2, '2': 4}}

集合(set)推导式

由于集合的无序性和不重复性,使用for…in…循环遍历,虽然顺序不确定,但是可以确保每个元素都会被访问到一次,并且重复的元素对会被自动去除。

# 带有条件的集合推导式
print({i * i for i in range(1, 11) if i % 2 == 0})  # output:{64, 100, 4, 36, 16}

# 嵌套的集合推导式
list1 = [1, 2, 3]
list2 = ['a', 'b']
print({(i, j) for i in list1 for j in list2})
# output:{(1, 'b'), (2, 'a'), (3, 'a'), (2, 'b'), (1, 'a'), (3, 'b')}

元组(tuple)推导式

# 带有条件的元组推导式
print(tuple(i * i for i in range(1, 11) if i % 2 == 0))  # output:(4, 16, 36, 64, 100)

# 嵌套的元组推导式
print(tuple(i * j for i in range(1, 3) for j in range(3, 5)))  # output:(3, 4, 6, 8)

标签:推导,16,Python,range,num,print,output
From: https://blog.csdn.net/weixin_60513747/article/details/144108118

相关文章

  • python安装部署(3.12)
    环境:OS:Centos71.安装依赖包[root@localhost~]#yuminstallopenssl-develbzip2-develexpat-develgdbm-develreadline-develsqlite-develgcccentos7停止服务后,可以使用阿里云yum,参考如下:https://www.cnblogs.com/hxlasky/p/18367611 2.升级openssl[root@localh......
  • 数据结构_python
    在Python中,数据结构是用来存储和管理数据的容器。Python提供了四种内建的数据结构:列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。每种数据结构都有其特点和适用场景,理解它们对于编写高效、易于维护的代码至关重要。4.1列表(List)列表是Python最常用的数据结构之一,它是一个可......
  • 深入解析:使用Python爬取Bilibili视频
    深入解析:使用Python爬取Bilibili视频前提声明爬虫应遵守目标网站的robots.txt协议,尊重版权和用户隐私。本代码仅供学习和研究使用,不得用于商业用途。请确保在合法合规的前提下使用本代码。本代码所爬视频为公开可下载的视频目录前提声明引言环境准备代码解析1.导入必......
  • 简易压缩算法一种字符串压缩表示的解压(Java & Python& JS & C++ & C )
    题目描述有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母其他部分保持原样不变.例如字符串aaabbccccd经过压缩变成字符串3abb4cd请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串......
  • python进阶-04-Python Scrapy带你掌握Python Scrapy(2.12)爬虫框架,附带实战
    python进阶-04-一篇带你掌握PythonScrapy(2.12)爬虫框架,附带实战一.简介在Python进阶系列我们来介绍Scrapy框架最新版本2.12,远超市面上的老版本,Scrapy框架在爬虫行业内鼎鼎大名,在学习之前我想请大家思考Scrapy究竟能解决什么问题?或者能爬哪一类型的网站!还有针对Scrapy的局......
  • windows安装两个版本的python、pip换源
    一、官网下载两个版本的pythonpython-3.13.0-amd64.exepython-2.7.13.amd64.msi二、安装1、安装时建议不勾选自动添加path环境变量2、安装时自定义安装目录分别为 C:\Python2和 C:\Python33、安装后,把C:\Python2下的 python.exe重命名为 pyth......
  • 【图像处理】用Python和OpenCV实现简单的图像增强与特征提取
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!图像处理是计算机视觉领域的重要基础,而图像增强和特征提取是其中的关键技术。本文将详细探讨如何使用Python和OpenCV实现图像增强与特征提取。通过具体示例,我们将介绍滤波、直方图均衡化、边缘检测、......
  • Python中的函数缓存与记忆化技术:提升性能的必备技能
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!在软件开发中,性能优化是永恒的主题,而函数缓存与记忆化技术(Memoization)是提升代码性能的常用手段。它们通过存储函数调用的计算结果,避免重复计算,从而显著提高程序运行效率。Python提供了内置工具(如functo......
  • 最新毕设-SpringBoot-共享自习室管理系统-20672(免费领项目)可做计算机毕业设计JAVA、PH
    摘要随着现代社会竞争压力的增加以及学习需求的提升,学生们对于高效自习场所的需求日益增长。而基于springboot的共享自习室管理系统的设计与实现将为学生提供一个便捷、高效的共享自习环境,提升学生自习效率和体验。该系统可以为学生们提供在线讲座的渠道,实现在线进行预约位置......
  • python学习笔记09 python中的运算符
    上一篇记录中我们学习了介绍python中的进制、进制转换、原码反码补码这一篇我们来介绍python中的各类运算符及使用运算符操作数:参与运算的变量或者常量或具体的数值操作符:将参与运算的量连接起来的符号表达式:由操作数和操作符构成且符合python语法规范的式子,不同的操......