list()如何影响Python中传递给它的参数?
这是注释掉了list()如何影响Python中传递给它的参数?,python,list,Python,List,这是注释掉了list函数的代码: from collections import Counter a = input().split() b = map(int, a) ##c = list(b) d = Counter(b) print(d) 输入:1 2 3 输出:计数器({1:1,2:1,3:1}) 但是,当我删除hashtag时,将c分配给list(b)并重新运行代码,这种情况会发生: Input: 1 2 3 Output: Counter() 我的问题是,如果没有为b
list
函数的代码:
from collections import Counter
a = input().split()
b = map(int, a)
##c = list(b)
d = Counter(b)
print(d)
输入:1 2 3输出:计数器({1:1,2:1,3:1}) 但是,当我删除hashtag时,将
c
分配给list(b)
并重新运行代码,这种情况会发生:
Input: 1 2 3
Output: Counter()
我的问题是,如果没有为b分配任何新类型,为什么计数器输出值不同?据我所知,b不会受到这次行动的影响吗?如果这是一个愚蠢的问题,请原谅,我对编码还是相当陌生的。谢谢 Python map()函数用于对指定的iterable和return map对象的所有元素应用函数。PythonMap对象是一个迭代器,所以我们可以迭代它的元素
b = map(int, a)
这仅将“int”函数映射到a中的每个元素。(不执行)
调用迭代器时,它将执行并返回值并清除
比如说
a = list(range(5))
for i in a:
print(i)
break
输出
0
for i in a:
print(i)
break
1 #now it returns next element
输出
0
for i in a:
print(i)
break
1 #now it returns next element
然后继续。这是一种按需执行类型map()
返回迭代器。你只能循环一次。当您使用list(b)
时,它会耗尽迭代器。另见: