展开全部
1
|
ls2
=
[
str
(i)
for
i
in
ls1]
|
等价于
1
2
3
|
ls2
=
[]
for
i
in
ls1:
ls2.append(
str
(i))
|
[str(i) for i in ls1]这是列表生成式
顾名思义,列表生成式就是一个用来生成列表的特定语法形式的表达式。
1. 语法格式:
基础语法格式
[exp for iter_var in iterable]
工作过程:
迭代iterable中的每个元素;
每次迭代都先把结果赋值给iter_var,然后通过exp得到一个新的计算值;
最后把所有通过exp得到的计算值以一个新列表的形式返回。
相当于这样的过程:
- L = []for iter_var in iterable:
- L.append(exp)
带过滤功能语法格式
- [exp for iter_var in iterable if_exp]
工作过程:
迭代iterable中的每个元素,每次迭代都先判断if_exp表达式结果为真,如果为真则进行下一步,如果为假则进行下一次迭代;
把迭代结果赋值给iter_var,然后通过exp得到一个新的计算值;
最后把所有通过exp得到的计算值以一个新列表的形式返回。
相当于这样的过程:
- L = []for iter_var in iterable:
- if_exp:
- L.append(exp)
循环嵌套语法格式
- [exp for iter_var_A in iterable_A for iter_var_B in iterable_B]
工作过程:
每迭代iterable_A中的一个元素,就把ierable_B中的所有元素都迭代一遍。相当于这样的过程:
- L = []for iter_var_A in iterable_A:
- for iter_var_B in iterable_B:
- L.append(exp)
而对于 d for d in range(1,10)
表示为第二个d将数据中的数组元素进行迭代,以列表的形式返回放在第一个d里面