【发布时间】:2015-05-18 12:46:19
【问题描述】:
我收到了这个练习:
编写一个函数
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")]
【问题讨论】:
-
看起来应该返回一个以索引为键的字典。
-
是我遗漏了什么还是你想重新发明
enumerate()function? -
或者,如果它必须是 lambda:
my_enumerate = lambda L: list(ind,item for ind,item in enumerate(L))