我收到了这个练习:
写一个函数enumerate
它接受一个列表并返回一个列表
元组包含(index,item)
对于列表中的每个项目
我的问题是我无法将索引和值插入一个或多个for
循环。这是我设法制作的代码:
a = ["a", "b", "c","a","b","c"]
index = 0
for i in a:
print (index,i)
index+=1
这大致是我想要生成的代码(必须在一行上):
my_enumerate = lambda x :[(t) for t in x )]
print list(my_enumerate(range(4)))
我怎样才能把它全部合一lambda
线得到(value, index)
后退?输出应如下所示:
[(0, "a"), (1, "b"), (2, "c")]
如果您实际上可以索引,只需通过索引添加值:
my_enumerate = lambda x :[(t, x[t]) for t in range(len(x))]
print list(my_enumerate(a))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'a'), (4, 'b'), (5, 'c')]
如果不使用 zip 并将范围放入 lambda 中:
my_enumerate = lambda x: zip(range(len(x), x))
print list(my_enumerate(a))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)