gpt4 book ai didi

python - 实际传递给函数的参数是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:31 24 4
gpt4 key购买 nike

 def f(a):
for i in a:
print i
>>> f(i for i in [1,2,3])
1
2
3
>>> f([i for i in [1,2,3]])
1
2
3
>>> f((i for i in (1,)))
1

我是否在第一个示例中传递了元组或列表?

它们之间有什么区别?

最佳答案

你传递一个生成器和一个列表:

>>> def f(a):
... print type(a)
... for i in a:
... print i
...
>>> f(i for i in [1,2,3])
<type 'generator'>
1
2
3
>>>
>>> f([i for i in [1,2,3]])
<type 'list'>
1
2
3
>>> f((i for i in (1,)))
<type 'generator'>
1
>>>

两者都可以在 for 循环中迭代,但工作方式不同。 Generator 每次迭代都会执行一条语句,list(或另一个 Iterables)是一段​​数据,它的所有元素都存在而无需任何操作。
关于发电机的更多信息here

关于python - 实际传递给函数的参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25616647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com