key=list(('Hello','World','All','!')) f=lambda x:x[3] for e in key:
print(f(e),end=' ')
执行上述代码,结果是()
A.输出ll,出现异常,for循环执行2次后中断,程序退出
B.输出ll,出现异常,for循环执行完毕,程序退出
C.输出ll,出现异常,for循环执行1次后中断,程序退出
D.输出ll,出现异常,for循环执行3次后中断,程序退出
正确答案:D
key=list(('Hello','World','All','!'))
等价于
key=['Hello','World','All','!']
这里使用了list函数,作用是将可遍历的对象转化成列表。这里的可遍历对象指的是元祖('Hello','World','All','!')
f=lambda x:x[3]
等价于
def f(x):
return x[3]
所以
f(e)=e[3]
for e in key:
print(f(e),end='')
for e in key是遍历列表key。每次遍历(循环),e分别指'Hello','World','All','!'。
第一次循环:
print(f(e),end='')=print(f('Hello'),end='')=print('Hello'[3],end='')=print('l',end='')
结果:打印字符串'l',end=''表示不换行。重点:python索引从0开始,所以索引3表示第4个元素。
同理,第二次循环输出'World'[3]='l',第三次循环索引超出范围,报错。