gpt4 book ai didi

python - 给定另一个要从中切片的 id 列表来切片列表的优雅方法

转载 作者:行者123 更新时间:2023-11-28 19:54:19 24 4
gpt4 key购买 nike

我正在寻找一种在 python 中对列表 l 进行切片的优雅方法,给定一个 ids l_ids 列表。例如,而不是写

new_list = [l[i] for i in l_ids] 

写一些类似(伪代码)的东西:

new_list = l[*l_ids] 

有没有类似的切片列表的方法?

我觉得已经有人问过这个问题了,但我找不到任何引用资料。

编辑:可以假设所有列表项都属于同一类型吗?

最佳答案

您可以使用 operator.itemgetter(*items)像这样:

from operator import itemgetter

getter = itemgetter(*lst_ids)
new_list = list(getter(lst))

另外,请注意,我将 l 变量重命名为 lst,因为它不那么模糊并且 should be avoided .

您可以使用 Python 3 解包将元组隐式转换为列表,正如@JonClements 评论的那样:

*new_list, = getter(lst)

最后,从 Python 3.5 开始,您还可以使用扩展解包:

new_list = [*getter(lst)]

关于python - 给定另一个要从中切片的 id 列表来切片列表的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38290825/

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