若要生成list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]有几种方法呢?

常见的方法有: 1.直接赋值

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

2.使用函数

list=range(1, 11)

3.使用列表生成式

[x for x in range(1, 11)]

好像没太方便呵,但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?

[x * x for x in range(1, 11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

这就看出列表生成式的方便了。

具体用法是

[ 生成列表内的值(由迭代值进行某种变换得到的值) for  迭代值 in 内涵迭代值的列表 ]

另有

1.带条件过滤的列表生成式,如

[x * x for x in range(1, 11) if x % 2 == 0]

[4, 16, 36, 64, 100]

(只输出1~10偶数的平方)

2.多层表达式

[m + n for m in 'ABC' for n in '123']

['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']

翻译过来就是这样:

L = []
for m in 'ABC':
    for n in '123':
        L.append(m + n)

标签: python

添加新评论