gpt4 book ai didi

Python:在列表理解中重复元素?

转载 作者:太空狗 更新时间:2023-10-30 01:49:43 25 4
gpt4 key购买 nike

我有以下列表理解,它返回每个位置的坐标对象列表。

coordinate_list = [Coordinates(location.latitude, location.longitude)
for location in locations]

这行得通。

现在假设 location 对象有一个 number_of_times 成员。我想要一个列表理解来生成 n 个坐标对象,其中 n 是特定位置的 number_of_times。因此,如果某个位置的 number_of_times = 5,则该位置的坐标将在列表中重复 5 次。 (也许这是 for 循环的情况,但我很好奇是否可以通过列表理解来完成)

最佳答案

coordinate_list = [x for location in locations
for x in [Coordinates(location.latitude,
location.longitude)
] * location.number_of_times]

编辑:OP 建议循环可能更清晰,考虑到标识符的长度,这绝对是可能的。等效的代码将类似于:

coordinate_list = [ ]
for location in locations:
coord = Coordinates(location.latitude, location.longitude)
coordinate_list.extend([coord] * location.number_of_times)

循环看起来不错,部分原因是列表的 extend 方法在这里工作得很好,部分原因是你可以给 Coordinate 实例命名扩展与。

关于Python:在列表理解中重复元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846536/

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