复习python易错题集合的第八题,若有错误和改进意见,欢迎评论交流!
执行下面操作后,y的值是( )。
g= map(str, range(10))
g.__next__()
g.__next__()
x = 1 in g
y = '4' in g
正确答案: False
知识点补充:
map函数原型为:map(function, iterable, …)
参数:
function – 函数
iterable – 一个或多个序列
序列中的每一个元素调用 function 函数,返回由每次 function 函数返回值组成的新列表;若多个序列,则函数也应有多个参数,每个序列中的第 x 个元素调用 function 函数
map()得到的是一个生成器. 生成器有个特点, 它是一次性的,高效的来源是不进行存储,运行到哪里即用即取
题目详解:
g = [ ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ ]
调用 g.__ next __() 就像鼠标的光标一样向后走了一个元素,现在是0 | 123456789,再调用即走了两位,为01 | 23456789
且 g 列表中元素都为字符串类型,则下一个元素为 ‘2’
验证:
g= map(str, range(10))
g.__next__()
g.__next__()
print('2' in g)
输出为:
注:不能在输出前加x = 1 in g,y = ‘4’ in g,因为生成器是一次性,调用过则没
其他题目详解在:python复习之易错或难解题集合(列出对应知识点)(详解答案)(结合程序不同运行结果说明)
这里是平平无奇的77,妄想优秀 ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ ▇ … 0%,若想转载请注明原链接,欢迎下次再来!!