gpt4 book ai didi

python - 使用 lambda 编写枚举函数

转载 作者:行者123 更新时间:2023-11-28 17:36:16 25 4
gpt4 key购买 nike

我收到了这个练习:

Write a function enumerate that takes a list and returns a list of tuples containing (index,item) for each item in the list

我的问题是我无法在一个或多个 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))

关于python - 使用 lambda 编写枚举函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com