nex*_*doc 2 python int iterable-unpacking
实际上这是三个例子.
>>> result = []
>>> for k in range(10):
>>> result += k*k
>>> result = []
>>> for k in range(10):
>>> result.append(k*k)
>>> result = [k*k for k in range(10)]
Run Code Online (Sandbox Code Playgroud)
第一个出错.错误打印如下
TypeError: 'int' object is not iterable
Run Code Online (Sandbox Code Playgroud)
但是,第二个和第三个效果很好.
我无法理解这三个陈述之间的区别.
列表对象上的就地添加使用iterable的元素扩展列表.k*k不是可迭代的,因此您无法将其"添加"到列表中.
你需要进行k*k迭代:
result += [k*k]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10739 次 |
| 最近记录: |