Python i for ls in [a,b,c] for i in ls是什么语法?这个语法的基本格式是什么?他有什么作用?关于这个语法有什么经典例子?写几个基于这个语法的衍生
时间: 2024-02-16 18:04:14 浏览: 18
这个语法是 Python 中的列表推导式。它的基本格式是:
```
[expression for item in iterable1 for item2 in iterable2 ... for itemN in iterableN]
```
其中,`expression` 是一个表达式,`item`、`item2`、...、`itemN` 是迭代变量,`iterable1`、`iterable2`、...、`iterableN` 是可迭代对象。这个语法的作用是快速生成一个列表,列表中的元素是对可迭代对象进行迭代后的表达式的值。
一个经典的例子是生成一个由 1 到 10 的整数的平方组成的列表:
```
squares = [i*i for i in range(1, 11)]
print(squares)
```
这个例子中,我们使用了 `range(1, 11)` 生成一个由 1 到 10 的整数的可迭代对象,然后将每个整数的平方作为列表中的一个元素,最终生成了一个由 1 到 10 的整数的平方组成的列表。
基于这个语法,我们可以衍生出很多有用的用法。比如,我们可以生成一个由两个列表中对应元素的和组成的列表:
```
a = [1, 2, 3]
b = [4, 5, 6]
c = [x + y for x in a for y in b]
print(c)
```
这个例子中,我们使用了两个列表 `a` 和 `b`,并使用两个嵌套的 for 循环遍历这两个列表中的元素,然后将它们的和作为一个新的元素添加到列表 `c` 中。最终,我们得到了一个由 `a` 和 `b` 中对应元素的和组成的列表。