如何从 python 的列表中调用带有特定关键字的特定元素?

How to call a particular element with certain keywords from a list in python?

我想分解一个 URL 并提取我需要的信息。破解 URL 很容易,但我不确定如何提取我需要的信息。

下面是 URL 中断部分。 我想提取目标 ID 部分并将其保存在 dest_id 中。 在下面的示例 URL 中,它将是“1504033”(在 'destination-id=' 旁边)

url = 'https://www.hotels.com/search.do?resolved-location=CITY%3A1504033%3AUNKNOWN%3AUNKNOWN&destination-id=1504033&q-destination=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&q-check-in=2019-10-12&q-check-out=2019-10-13&q-rooms=1&q-room-0-adults=2&q-room-0-children=0'
url_break = url.split('%')

我知道如何通过索引编号调用,但它可能不会一直有效,因为该部分可以在任何地方而不是第 5 个索引。 (可以是第三或第四)

不要自己拆分 url,使用适当的库:

url = 'https://www.hotels.com/search.do?resolved-location=CITY%3A1504033%3AUNKNOWN%3AUNKNOWN&destination-id=1504033&q-destination=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&q-check-in=2019-10-12&q-check-out=2019-10-13&q-rooms=1&q-room-0-adults=2&q-room-0-children=0'

from urllib import parse

k = parse.urlsplit(url)
params = parse.parse_qs(k.query) 

print(params) 

输出:

{'resolved-location': ['CITY:1504033:UNKNOWN:UNKNOWN'], 
 'destination-id': ['1504033'], 
 'q-destination': ['Las Vegas, Nevada, United States of America'], 
 'q-check-in': ['2019-10-12'], 'q-check-out': ['2019-10-13'], 
 'q-rooms': ['1'], 'q-room-0-adults': ['2'], 'q-room-0-children': ['0']}

并访问字典:

dest_id = params.get("destination-id")