Python的列表推导式你了解吗
作者:吴声子夜歌 发布时间:2022-08-13 05:30:41
标签:Python,列表,推导式
语法
1.普通
[expression for target in iterable]
2.带条件
[expression for target in iterable if condition]
3.嵌套
[expression for target1 in iterable1 if condition1
for target2 in iterable2 if condition2
...
for targetN in iterableN if conditionN]
实例
x = [1, 2, 3, 4, 5]
x = [i * 2 for i in x]
print(x)
# [2, 4, 6, 8, 10]
y = [i for i in range(10)]
print(y)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 获取矩阵第二列
matrix = [
[1, 2, 3],
[3, 5, 6],
[7, 8, 9]
]
col2 = [row[1] for row in matrix]
print(col2)
# [2, 5, 8]
# 获取矩阵主对角线元素
matrix = [
[1, 2, 3],
[3, 5, 6],
[7, 8, 9]
]
diag = [matrix[i][i] for i in range(len(matrix))]
print(diag)
diag2 = [matrix[i][len(matrix) - i - 1] for i in range(len(matrix))]
print(diag2)
# [1, 5, 9]
# [3, 5, 7]
# 创建内嵌列表
a = [[0] * 3 for i in range(3)]
print(a)
a[1][1] = 5
print(a)
# [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# [[0, 0, 0], [0, 5, 0], [0, 0, 0]]
# 20以内偶数列表
b = [i for i in range(20) if i % 2 == 0]
print(b)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# 筛选F开头的单词
words = ['Great', 'FishC', 'Brilliant', 'Excellent', 'Fantistic']
res = [word for word in words if word.startswith('F')]
print(res)
# ['FishC', 'Fantistic']
# 展开二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
flatten = [col for row in matrix for col in row ]
print(flatten)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
等价于
flatten = []
for row in matrix:
for col in row:
flatten.append(col)
# 笛卡尔积
fulljoin = [x + y for x in '12345' for y in 'abcde']
print(fulljoin)
# ['1a', '1b', '1c', '1d', '1e', '2a', '2b', '2c', '2d', '2e', '3a', '3b', '3c', '3d', '3e', '4a', '4b', '4c', '4d', '4e', '5a', '5b', '5c', '5d', '5e']
ans = [[x, y] for x in range(10) if x % 2 == 0 for y in range(10) if y % 3 == 0]
print(ans)
# [[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]
来源:https://blog.csdn.net/cold___play/article/details/123638695
0
投稿
猜你喜欢
- 先来思考一个问题,B站一个视频的弹幕最多会有多少?比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的。也就是
- body {font-family: Arial, sans-serif; }这是我迄今
- 事物绝非十全十美总有强差人意的一面,之前针对浮动分析了其引起文本重影的怪异问题,而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。围绕着定位
- 小主我总结了一下,看官仅供参考。具体运行时间,要看电脑,程序复杂程度,截图大小,原本为四个方法,后面又发现了一种。补上运行熟练度等因素。方法
- 一、回顾一下前面《Oracle开发之窗口函数》中关于全统计一节,我们使用了Oracle提供的:sum(sum(tot_sales)) ove
- 问题描述最近做一个项目,是用Python进行相关的串口操作。及将相关指令通过串口发给设备,设备根据发过来的指令来做出相应的操作,所用的库是P
- 字符串多级目录取值:比如说:你response接收到的数据是这样的。你现在只需要取到itemstring 这个字段下的值。其他的都不要!思路
- 网上存在这么一个例子 obj = pd.Series([7,-5,7,4,2,0,4])obj.rank()输出为:0 6.51
- 本文实例讲述了Python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下:我先总结一下python中的类的特点:1.
- 本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:源码:# -*- coding:utf-8 -*-#! pyth
- 一、写在前面从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 re
- 一、准备工作:1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。2.在SQL SERVER下
- 一、python中List添加元素的几种方 * ist 是 Python 中常用的数据类型,它一个有序集合,即其中的元素始终保持着初始时的定义
- Base64是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文
- 在Python中通过GET来获取页面的COOKIE是非常简单的事情,下面的代码实例演示了如何利用Python 获取COOKIE内容#! /u
- 获取不带扩展名的文件的名称:import osprintos.path.splitext("path_to_file")
- 如果需要一个简单的Web Server,而不是安装那些复杂的HTTP服务程序,比如:Apache,Nginx等。那么可以使用Python自带
- 异常捕捉:try: XXXXX1 raise Exception(“xxxxx2”) except (Exception1,Excepti
- 本文实例讲述了python使用pymongo与MongoDB基本交互操作。分享给大家供大家参考,具体如下:本文内容:pymongo的使用:安
- 一、实现过程本文对经典手写数字数据集进行多分类,损失函数采用交叉熵,激活函数采用ReLU,优化器采用带有动量的mini-batchSGD算法