gpt4 book ai didi

Python:根据匹配值从第二个列表添加元素

转载 作者:行者123 更新时间:2023-12-02 01:27:42 25 4
gpt4 key购买 nike

我有两个列表:

survey_points = [ [101,123.456,101.234,99.234] , [102,88.243,211.245,100.834] , [103,13.556,134.234,99.234] , [104,12.345,95.342,99.121] ]
survey_points_attributes = [ [101,305] , [102,306] , [103,305] , [104,308] , [105,310] , [106,307] , [107,306] , [108,305] , [109,305] , [110,307] ]

列表“survey_points”包含点测量。格式“点号、距离、水平角度、垂直角度”列表“survey_points_attributes”包含点属性/代码。格式“点编号、点属性/代码”

使用 Survey_points 列表,我想在点编号和距离之间添加点属性/代码。两者之间的搜索关键字是点号。例如。 Survey_list 中的第一个点 101 是 101,现在 101 在 Survey_points_attributes 中显示属性“305”。现在应将“305”值插入到 Survey_list 中的 101 之后我怎样才能实现这个目标?

输出/结果应如下所示:

    survey_points = [ [101,305,123.456,101.234,99.234] , [102,306,88.243,211.245,100.834] , [103,305,13.556,134.234,99.234] , [104,308,12.345,95.342,99.121] ]

预先感谢您的帮助。

最佳答案

尝试:

mapping = dict(survey_points_attributes)

survey_points = [
[p, mapping[p], *rest] if p in mapping else [p, *rest]
for p, *rest in survey_points
]
print(survey_points)

打印:

[
[101, 305, 123.456, 101.234, 99.234],
[102, 306, 88.243, 211.245, 100.834],
[103, 305, 13.556, 134.234, 99.234],
[104, 308, 12.345, 95.342, 99.121],
]

或者:如果在属性中找不到点 ID,则插入 None:

survey_points = [[p, mapping.get(p), *rest] for p, *rest in survey_points]

关于Python:根据匹配值从第二个列表添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74062742/

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