Python - 列表解析式( List_Comprehension)

  • 一维操作

a = [1,2,3,4,5,6,7,8,9]

我们要对a中的每个元素取平方:

1> square = [i ** 2 for i in a]

2> square = list(map(lambda x: x ** 2, a))

[ 一般情况下,使用列表解析式会比使用一些高阶函数更加简洁和容易理解 ]

  • 二维操作

附加for循环中的占位符

a = [1,2,3]
b = [(i,j) for i in a for j in a]
for i , _ in b:
    print(i)
for _ , j in b:
    print(j)
  • 使用列表解析式初始化二维数组

from pprint import pprint

a = [0] * 10
print(a,end="\n\n")

b = [[0] * 10 for i in range(10)]
pprint(b)
  • 注意事项

列表解析式好用,但不可以滥用:

如果列表解析式的代码超过了两行,

你可能就要考虑是不是得用 for 循环重写了。

就跟写文章一样,并没有什么硬性的规则,这个度得你自己把握。



专题:【Python生成器表达式】

 


【部分列表操作】

list.append(value)

list.pop(index)

list.pop()

list.remove(value) 


a = sorted(Data)

a = reversed(Data)

你可能感兴趣的:(Python数据结构,Python,列表解析式)