如何解决如何使用for循环简化lst = [ x**2 for x in [x**2 for x in range(11)]] 这段代码使用for循环
我是 Python 的新学习者。尝试使用 for 循环编写以下代码
lst = [ x**2 for x in [x**2 for x in range(11)]]
我是这样试的
lst = []
for x in lst:
lst.append(x)
for x in range(0,11):
lst.append(x)
解决方法
你的错误是认为这里有嵌套循环。外部理解在内部理解创建的未命名列表上循环。在这里,我将其命名为 _scratch
。
_scratch = []
lst = []
for x in range(11):
_scratch.append(x**2)
for x in _scratch:
lst.append(x**2)
但是我们可以看到这可以简化,去掉第二个循环
lst = []
for x in range(11):
lst.append((x**2)**2)
并且知道一些算术,可以进一步简化
lst = []
for x in range(11):
lst.append(x**4)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。