编程语言python经典有序序列的list列表推导式实践运用

file

【阅读全文】

生成一个数据列表

# 初始化一个列表
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)]

# 由于打印结果是列表中包含元组信息,使用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]
'''
(0)

相关推荐

  • python笔记21-列表生成式

    前言 python里面[]表示一个列表,快速生成一个列表可以用range()函数来生成. 对列表里面的数据进行运算和操作,生成新的列表最高效快速的办法,那就是列表生成式了. range() 1.一个连 ...

  • python实现矩阵转置的几种方法

    文章目录 (1)方法一.使用numpy转置 (2)方法二.使用zip()函数 (3)方法三.使用python列表表达式[不占用额外空间,"原地修改"] (4)方法四.新建列表B,使 ...

  • #PY小贴士# for 循环定义的变量,循环外可以用吗?

    在使用 for 循环时,需要定义变量,大多数时候我们都会用一个 i 来表示: for i in range(10): print(i) 我们知道,在 python 中要获取一个变量的值,必须是先给它赋 ...

  • 题目 1093:【蓝桥杯】【入门题】字符逆序

    题目 1093:字符逆序 蓝桥杯刷题群已成立,微信后台回复[蓝桥杯],即可进入. 如果加入了之前的社群不需要重复加入. 时间限制: 1Sec 内存限制: 64MB 1. 题目描述 将一个字符串str的 ...

  • 零基础学Python:列表推导式及深浅拷贝

    列表推导式 Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成"列表推导式",也有人翻译成" ...

  • 列表推导式:简洁高效更具 Python 风格的列表创建方法

    我们在<Python 中的列表和元组>中已经详细介绍了列表(list)的基本特性和使用方法,本文将着重介绍一种 Python 中用于创建 list 的简洁高效的语法形式:列表推导式. Py ...

  • Python高级用法总结—(列表推导式,迭代器,生成器,装饰器)

    Python高级用法总结-(列表推导式,迭代器,生成器,装饰器) 列表推导式(list comprehensions) 场景1:将一个三维列表中所有一维数据为a的元素合并,组成新的二维列表. 最简单的 ...

  • 优雅简洁的列表推导式

    优雅的列表推导式 最近比较累,给自己放了很长的假.使用廖雪峰网站学习时一开始学过列表推导式这方面的知识,但不知道有什么用,也没觉得好看简洁.但接触的多了,用的多了之后,发现推导式确实好用. 使用推导式 ...

  • Python中什么是有序序列?列表元组及字符串

    Q:Python中的列表.元组.字符串是有序序列吗? A:当然,列表.元组.字符串是Python中的有序序列,其中列表是可变对象,元组和字符串是不可变对象,接下来我们一起来看看具体的内容介绍吧. 什么 ...

  • Python | 有序序列中元素的查找问题解决方法

    问题描述示例:如何查找有序序列中某一的元素输入:[1,2,3,4,5,6,--,100]   61 #查找的元素输出:61解决方案查找元素.一般地,我们可以用for循环进行遍历,再用if语句进行查找. ...

  • 编程语言Python代码阅读(第8篇):列表元素逻辑判断

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的三份代码的功能分别是判断列表中的元素是否都符合给定的条件:判断列表中是否存在符合给定的条件的元素:以及判断列表中 ...

  • Python|删除有序数组中的重复项

    问题描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度.不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空 ...

  • 150 道Python经典面试题,做对80%,Offer任你挑

    金三银四是求职者的黄金月,提前掌握一些经典的面试题,就会大大提升面试的成功率,本文对Python面试中经常出现的一些典型问题进行了整理,并给出相应的参考答案. 现将内容罗列于此,可直达文末免费下载. ...