首页 > 编程语言 >python经典有序序列的list列表推导式

python经典有序序列的list列表推导式

时间:2024-01-13 16:33:38浏览次数:22  
标签:20 推导 python 元素 list 列表 range

生成一个数据列表

# 初始化一个列表
list_1 = []

# 使用循环生成一个列表数据
for val in range(0,20,1):
    # 加入集合
    list_1.append(val)

# 打印列表数据
print(list_1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

使用列表推导式生成该数据列表

# 列表推导式生成列表数据
list_2 = [i for i in range(20)]

# 打印列表数据
print(list_2)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

分析:
1、使用一行代码的列表推导式就完成了该列表的生成
2、[i for i in range(20)],第一个i元素代表向列表list_2中添加的元素
3、[i for i in range(20)],第二个i元素代表for循环遍历的i元素

使用列表推导式生成只有偶数的数据列表

# 在基本列表推导式的基础上加入条件判断
list_3 = [i for i in range(20) if i % 2 == 0]

# 打印列表推导式
print(list_3)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

分析:
[i for i in range(20) if i % 2 == 0],第三个if后面的i元素,相当于是在for循环内部提取其中的i元素作条件校验。
双重循环的列表推导式

# 既然是双重循环则需要定义两个变量a、b
list_4 = [(a,b) for a in range(4) for b in range(5)]
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
# 由于打印结果是列表中包含元组信息,使用pprint可以美观的打印数据
from pprint import pprint

# 打印列表推导式
pprint(list_4)
# [(0, 0),
#  (0, 1),
#  (0, 2),
#  (0, 3),
#  (0, 4),
#  (1, 0),
#  (1, 1),
#  (1, 2),
#  (1, 3),
#  (1, 4),
#  (2, 0),
#  (2, 1),
#  (2, 2),
#  (2, 3),
#  (2, 4),
#  (3, 0),
#  (3, 1),
#  (3, 2),
#  (3, 3),
#  (3, 4)]

分析:
其中a、b分别对应第一个和第二个for循环的遍历元素a、b,同样可以加入a、b元素的条件校验,比如可以写成如下的列表推导式

list_5 = [(a,b) for a in range(4) if a % 2 == 0 for b in range(5) if b % 2 == 0]

标签:20,推导,python,元素,list,列表,range
From: https://www.cnblogs.com/xxpythonxx/p/17962514

相关文章

  • Python 潮流周刊第 35 期(摘要)
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。周刊全文:https://pythoncat.top/posts/2024-01-13-weekly以下是本期摘要:......
  • [Python学习记]个人感受(持续更新)
    ------24/01/13------ 大家好,到目前为止我已经学习到if条件语句的使用了,准备学习循环语句,if语句学的薄浅还得多加练习实际应用!关于if的应用我自主设计了几个程序,希望大佬可以多加指点 ------23/11/13------ 大家好,我是小县城高中的一名学生 在我初中时期就已经知道主......
  • 433. 最小基因变化(Queue使用ArrayList和LinkedList进行声明)
    这道题可以看成一个24叉树。因为基因序列长度固定为8,且每个位置的字母固定是AGCT,可以选择改变的只有3个字母,所以一次最多24种情况。然后检查变化后的结果是否存在bank中(使用hashSet来存储),同时设置一个visited集合来检查是否访问过。classSolution{publicintminMutation(St......
  • RK3568 学习笔记 : 解决 linux_sdk 编译 python 版本报错问题
    前言最近买了【正点原子】的RK3568开发板,下载了开发板的资料,包括LinuxSDK,这个LinuxSDK占用的空间比较大,扩展了一下VM虚拟机ubuntu20.04的硬盘空间,编译才正常通过。编译RK3568LinuxSDK时,遇到python版本的问题,这里做个记录【正点原子】rk3568开发板资料与Lin......
  • ubuntu 20.04 自由切换 python 的版本
    问题描述当前ubuntu20.04默认安装了多个python的版本,执行python时,默认版本是Python2.7.18zhangsz@zhangsz:~$pythonPython2.7.18(default,Jul12022,12:27:04)[GCC9.4.0]onlinux2Type"help","copyright","credits"or"license"......
  • 【Python】怎么把Python脚本打包成可执行程序?
    需求分析最近根据用户提的需求用python做了一个小工具,但是在给客户使用的时候不能直接发送python文件,毕竟让客户去安装python环境,那就离了大谱了。所以这时候就需要把多个py文件带着运行环境打包成EXE可执行文件。技术实现这里以window为例,Mac是同样的道理。一、检测脚本是否正常1......
  • Python逆向爬虫入门教程: 酷狗音乐加密参数signature逆向解析
    数据来源分析......
  • Python手相识别教程5拇指
    5拇指拇指是手相术中最重要的部分之一。印度和中国的某些早期手相学派仅凭拇指就能评估一个人的性格和成功机会。拇指是看手相的微缩画布--小小的手指中蕴含着丰富的信息。拇指可以让你一目了然地了解一个人的深刻见解。从字面上看,它就像一幅人物性格的"缩略图"。拇指的大小和......
  • Python: spire.doc
     #encoding:utf-8#版权所有2024涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python3.11#Datetime:2024/1/1310:21#User:geovindu#Product:PyCharm#Project:pyBaiduAi#F......
  • python Y轴最小刻度
    Python中Y轴最小刻度在数据可视化中,Y轴最小刻度是很重要的一个概念。它代表了Y轴的起始点,通常用于确定绘图中的最小值。在Python中,我们可以使用不同的库来创建图表,并设置Y轴的最小刻度。matplotlib库matplotlib是一个流行的Python数据可视化库,可以用来创建各种类型的图表,包括饼......