python for循环的用法,怎么前面还有一个变量或函数?
ls2 =[str(i) for i in ls1] 等价于
ls2 = [] for i in ls1: ls2.append(str(i)) [str(i) for i in ls1]这是列表生成式
顾名思义,列表生成式就是一个用来生成列表的特定语法形式的表达式。
基础语法格式
[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)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。