Python-生成列表

这篇具有很好参考价值的文章主要介绍了Python-生成列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.生成列表

  • 使用列表前必须先生成列表。

1.1使用运算符[ ]生成列表

  • 在运算符[ ]中以逗号隔开各个元素会生成包含这些元素的新列表。另外,如果[ ]中没有元素就会生成空列表

示例

>>> list01 = []
>>> list01
[]
>>> list02 = [1, 2, 3]
>>> list02
[1, 2, 3]
>>> list03 = ['A', 'B', 'C']
>>> list03
['A', 'B', 'C']
Python-生成列表

1.2使用list函数生成列表

  • 使用内置函数list可以生成包含各种类型对象(字符串和元组等)的列表

  • 在不传递实参的情况下调用list()会生成空列表

示例

>>> list05 = list()        # [] 空列表
>>> list05              
[]
>>> list06 = list('ABC')   # 由字符串的各个字符生成
>>> list06
['A', 'B', 'C']
>>> list07 = list([1, 2, 3])  # 由列表生成
>>> list07
[1, 2, 3]
>>> list08 = list((1, 2, 3))  # 由元组生成
>>> list08
[1, 2, 3]
>>> list09 = list({1, 2, 3})  # 由集合生成
>>> list09
[1, 2, 3]
>>> list10 = list(range(7))   # 用list函数转换range函数生成数列(可迭代对象)
>>> list10
[0, 1, 2, 3, 4, 5, 6]
>>> list11 = list(range(3, 8))
>>> list11
[3, 4, 5, 6, 7]
>>> list12 = list(range(3, 13, 2))
>>> list12
[3, 5, 7, 9, 11]
Python-生成列表

1.3指定元素总数生成列表

  • 可以通过关键词 [None] 生成“元素总数确定,但元素的值不确定”的列表

  • 列表[None]只有一个元素None,重复n次[None]后可以生成一个元素总数为n且所有元素都是None的列表。元素总数个数为5时生成的列表如下:

>>> list13 = [None] * 5         # 生成一个元素总数为5且元素都为空的列表
>>> list13
[None, None, None, None, None]
Python-生成列表

1.4for循环生成列表

  • 生成空列表,然后使用append方法逐一添加元素

x = []
x.append(1)
x.append(2)
x.append(3)
x.append(4)
x.append(5)
x.append(6)
x.append(7)

print(x)
Python-生成列表
  • 使用for语句实现

x = []
for i in range(1, 8):
    x.append(i)
print(x)
Python-生成列表
  • 将range函数返回的数列(可迭代对象)转换成列表

x = list(range(1, 8))
print(x)
Python-生成列表

2. 列表解析式

  • 在实际编程中,列表解析式比较常用

2.1列表解析式形式1

[表达式 for 元素 in 可迭代对象]    # 列表解析式(形式1)

示例:

  • 生成列表[1, 2, 3, 4, 5, 6, 7]

>>> x = [n for n in range (1, 8)]
>>> x
[1, 2, 3, 4, 5, 6, 7]
  • 列表生成过程

Python-生成列表
  • 生成元素值为1-7各数的平方的列表

>>> x = [n * n for n in range (1, 8)]
>>> x
[1, 4, 9, 16, 25, 36, 49]
  • 生成一个字符串列表,元素的奇数与‘+’拼接,偶数与‘-’拼接的字符串,如‘1+’、‘2-’、‘3+’、‘4-’等

>>> x = [f'{n}{"+" if n % 2 == 1 else "-"} ' for n in range(1, 8) ]
>>> x
['1+ ', '2- ', '3+ ', '4- ', '5+ ', '6- ', '7+ ']

2.2列表解析式形式2

[表达式 for 元素 in 可迭代对象 if 判断表达式]     # 列表解析式(形式2)

调用这种形式的列表解析式后,程序仅在for语句循环中的判断表达式成立时取出元素

示例

  • 生成仅由1-7中的偶数构成的列表

>>> x = [n for n in range(1, 8) if n % 2 ==0]
>>> x
[2, 4, 6]
  • 列表生成过程

Python-生成列表

2.3嵌套的解析式

  • for语句一般可以嵌套,解析式的for语句也可以嵌套

  • 使用列表解析式生成列表(嵌套的for)

示例:

>>> x = [i * 10 + j for i in range(1,3) for j in range(1, 4)]
>>> x
[11, 12, 13, 21, 22, 23]
  • 列表生成过程

Python-生成列表
  • 使用嵌套的列表解析式生成二维列表

示例

>>> table = [[ i * 10 + j for i in range(1,3)] for j in range(1, 4)]
>>> table
[[11, 21], [12, 22], [13, 23]]
  • 列表生成过程

Python-生成列表
  • 使用嵌套的列表解析式生成单位矩阵文章来源地址https://www.toymoban.com/news/detail-455344.html

>>> im = [ [1 if i == j else 0 for i in range(n)] for j in range(n)]
>>> im
[[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]

到了这里,关于Python-生成列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • c++类和对象(拷贝构造、运算符重载、初始化列表、静态成员、友元等)

    拷贝构造函数的特征: 1、拷贝构造函数是构造函数的一个重载形式; 2、拷贝构造函数的参数只有一个且必须是同类类型对象的引用, 使用传值方式编译器直接报错 ,因为会引发无穷递归调用。 在c++中自定义类型 传值传参 的时候要调用拷贝构造函数。 3、若未显式定义,

    2024年02月15日
    浏览(30)
  • [C++ ]:5.类和对象中(运算符重载补充)+ 类和对象下(初始化列表)

    我们知道进行运算符重载这个函数的参数的左右类型是非常重要的,我们尝试在类中去定义这个流插入重载! 1. 考虑到隐含的参数指针: 2.进行优化! 我们观察上面的代码发现可以实现在类中进行流插入运算符的一个重载但是我们需要考虑隐含参数的位置所以我们进行传参

    2024年02月06日
    浏览(38)
  • Python 运算符 算数运算符 关系运算符 赋值运算符 逻辑运算 (逻辑运算符的优先级) 位运算 成员运算符 身份运算符 运算符的优先级

    四则运算+ - * / 取模运算 % 之所以出现1 与 2 的不同 是因为python取模计算规则为 r = p-q*floor(p/q) floor表示向下取余 **幂 **** 取整除 向下取整 ‘//’ 等于关系 == 大于 大于等于(大于||等于) 小于 小于等于(小于||等于) != 不等于 不同数据类型之间的比较,若是不同的数据类型进行比

    2024年02月04日
    浏览(54)
  • Python逻辑运算符、身份运算符查询表

    python的逻辑运算符,在python开发的条件判断中非常有用,这其中涉及到的数学非常基础,就是一个集合的并集、交集、补集的运算。具体的规则如下表: 运算符 描述 实例 and python中布尔“与”,就是求集合运算中的交集 a and b #如果a为False,b不管是True还是False,输出False,两

    2024年02月06日
    浏览(42)
  • 【从零学习python 】08.Python了解位运算符, 运算符优先级

    按位运算符是把数字看作是二进制来进行计算的。 下表中变量 a 为 60, b 为 13,二进制格式如下: a b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001 ~a = 1100 0011 位运算 描述 示例 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a b) 输出结果 12 ,

    2024年02月10日
    浏览(30)
  • python中@运算符和*运算符在矩阵乘法中的区别与作用

      我们在看python程序时,经常可以看到@运算符和*运算符,其中@运算符在传统python中通常是作为装饰器使用的。但是在Python 3.5之后,它又具备了矩阵乘法运算的功能。下面使用示例来对比这两个运算符对矩阵运算的影响:   导入用到numpy包:   创建一个维度为2×3×3的

    2024年02月12日
    浏览(33)
  • 「Python系列」Python运算符

    Python 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等等。以下是这些运算符的简要概述和相应的案例代码: 算术运算符 :用于基本的数学运算。 加法( + ): 减法( - ): 乘法( * ): 除法( / ): 取模( % ): 取整( // ): 运算符 描述

    2024年02月22日
    浏览(31)
  • Python 运算符(二)

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔\\\"与\\\" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 (a and b) 返回 20。 or x or y 布尔\\\"或\\\" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。

    2024年02月16日
    浏览(29)
  • Python 运算符(一)

    Python 运算符是用于执行各种运算的符号。Python 支持各种类型的运算符,包括算术运算符、比较运算符、逻辑运算符等。在使用 Python 进行编程时,熟练掌握各种运算符是非常重要的。在本教程中,我们将详细介绍 Python 中各种运算符的使用方法。 本章节主要说明 Python 的运算

    2024年02月14日
    浏览(33)
  • Python 运算符

    本章节主要说明Python的运算符。举个简单的例子  4 +5 = 9  。 例子中, 4  和  5  被称为 操作数 ,+ 称为运算符。 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 接下来让我们一个个

    2024年02月10日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包