如何使用Python中的列表理解功能从一个元素中获取多个元素?

德尔甘

我的标题可能不太清楚,很抱歉,这不容易解释。但是一个例子会更容易理解。

a = [1, 4, 7, 10]

b = [x-1, x, x+1 for x in a]

>> expected result: [0,1,2,3,4,5,6,7,8,9,10,11]

当然,这会引发错误。

是否可以使用列表理解来获得此结果?

我知道我可以使用b = sum([[x-1, x, x+1] for x in a], [])其他方式,但可读性较差。

邓肯

如果要使用列表推导来完成此操作,则需要嵌套两个推导:

>>> b = [ value for x in a for value in (x-1, x, x+1) ]
>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

请注意,尽管一旦开始嵌套理解或在其中包含条件,它们就会迅速变得不可读,并且在达到这一点之前,您应该切换到嵌套循环:记住列表理解只是嵌套循环的简写,它不会实际上不会带来任何性能上的好处。

用“ longhand”写出列表理解如下:

b = []
for x in a:
    for value in (x-1, x, x+1):
        b.append(value)

但实际上,使用以下方法可能会更好:

b = []
for x in a:
    b.extend((x-1, x, x+1))

对于相同的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JS fetch API:如何使用一个异步功能从多个文件中获取内容?

来自分类Dev

如何使用另一个列表从一个列表中删除匹配的元素?蟒蛇

来自分类Dev

在列表中获取一个元素

来自分类Dev

从列表中打印元素,直到使用列表理解找到一个元素

来自分类Dev

如何根据另一个列表的元素和条件从一个列表中删除元素?

来自分类Dev

如何使用Python删除循环列表中的元素,直到只剩一个元素?

来自分类Dev

如何使用python删除循环列表中的元素,直到只剩一个元素?

来自分类Dev

在ListView中,是否只能从一个边缘淡入元素?

来自分类Dev

在ListView中,是否只能从一个边缘淡入元素?

来自分类Dev

如何用另一个列表中的多个元素替换列表中的一个元素?

来自分类Dev

如何从一个点迭代列表中的下 n 个元素

来自分类Dev

python:如何比较一个列表中的元素

来自分类Dev

Python:为列表中的每个元素获取一个没有该元素的新列表

来自分类Dev

如何使用一个列表中的其他元素?

来自分类Dev

使用Python中的一行列表理解从一个列表中获得两个列表

来自分类Dev

如何获取python列表中的第一个元素并检查它是否为None?

来自分类Dev

使用Python中每个列表的最后一个元素

来自分类Dev

如果在另一个列表中找不到一个列表中的元素,我如何在列表理解中使用 else ?

来自分类Dev

使用Python中的单元素将列表的分组元素连接到一个列表中

来自分类Dev

如何从一个指定的子元素中获取innerHTML

来自分类Dev

如何从一个指定的子元素中获取innerHTML

来自分类Dev

如何从同一个类的多个元素中获取随机元素

来自分类Dev

获取列表列表中的上一个元素

来自分类Dev

获取列表列表中的上一个元素

来自分类Dev

找到关键元素后如何从列表中获取下一个元素

来自分类Dev

如何获取R中列表的每个元素的最后一个子元素

来自分类Dev

药剂-如何获取除列表中的最后一个元素以外的所有元素?

来自分类Dev

如何从一个文件中创建多个列表?

来自分类Dev

如何在python中求和与另一个列表的元素相对应的列表元素

Related 相关文章

  1. 1

    JS fetch API:如何使用一个异步功能从多个文件中获取内容?

  2. 2

    如何使用另一个列表从一个列表中删除匹配的元素?蟒蛇

  3. 3

    在列表中获取一个元素

  4. 4

    从列表中打印元素,直到使用列表理解找到一个元素

  5. 5

    如何根据另一个列表的元素和条件从一个列表中删除元素?

  6. 6

    如何使用Python删除循环列表中的元素,直到只剩一个元素?

  7. 7

    如何使用python删除循环列表中的元素,直到只剩一个元素?

  8. 8

    在ListView中,是否只能从一个边缘淡入元素?

  9. 9

    在ListView中,是否只能从一个边缘淡入元素?

  10. 10

    如何用另一个列表中的多个元素替换列表中的一个元素?

  11. 11

    如何从一个点迭代列表中的下 n 个元素

  12. 12

    python:如何比较一个列表中的元素

  13. 13

    Python:为列表中的每个元素获取一个没有该元素的新列表

  14. 14

    如何使用一个列表中的其他元素?

  15. 15

    使用Python中的一行列表理解从一个列表中获得两个列表

  16. 16

    如何获取python列表中的第一个元素并检查它是否为None?

  17. 17

    使用Python中每个列表的最后一个元素

  18. 18

    如果在另一个列表中找不到一个列表中的元素,我如何在列表理解中使用 else ?

  19. 19

    使用Python中的单元素将列表的分组元素连接到一个列表中

  20. 20

    如何从一个指定的子元素中获取innerHTML

  21. 21

    如何从一个指定的子元素中获取innerHTML

  22. 22

    如何从同一个类的多个元素中获取随机元素

  23. 23

    获取列表列表中的上一个元素

  24. 24

    获取列表列表中的上一个元素

  25. 25

    找到关键元素后如何从列表中获取下一个元素

  26. 26

    如何获取R中列表的每个元素的最后一个子元素

  27. 27

    药剂-如何获取除列表中的最后一个元素以外的所有元素?

  28. 28

    如何从一个文件中创建多个列表?

  29. 29

    如何在python中求和与另一个列表的元素相对应的列表元素

热门标签

归档