Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
list()如何影响Python中传递给它的参数?_Python_List - Fatal编程技术网

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)
时,它会耗尽迭代器。另见: