编写生成器,现有一列表ls=[thr world of the rings]输入1,输出元素为0-9的3次方的列表
时间: 2024-02-09 20:08:49 浏览: 84
普通三层代码生成器
好的,我理解您的要求了。以下是一个Python的生成器函数,它可以将一个列表中的每个元素的3次方输出为一个新的列表:
```python
def cube_generator(ls):
for item in ls:
yield [i**3 for i in range(10)]
# 示例用法
ls = ["thr", "world", "of", "the", "rings"]
result = cube_generator(ls)
for r in result:
print(r)
```
输出结果为:
```
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
```
在这个例子中,我们首先定义了一个名为 `cube_generator` 的生成器函数。在这个函数中,我们通过使用 `yield` 语句来生成一个新的列表,其中每个元素都是原列表中的元素的3次方。在示例代码中,我们将原列表 `ls` 设置为 `["thr", "world", "of", "the", "rings"]`,然后将生成器函数应用到该列表上,得到一个名为 `result` 的生成器对象。最后,我们通过使用 `for` 循环来迭代 `result` 生成器对象中的每个元素,并将其打印出来。
阅读全文