Реализация словаря

Существует словарь с аргументами, которые нужно указать для отправки запроса к API.

Он подается в формате:

{'param_name': 'value'}

Но дело в том, что мне нужно указывать эти аргументы при отправке запроса в виде:

https://url?method_name/&param1=value1&param2=value2 

Вопрос состоит в том, как можно словарь распаковать в виде &item=key?


Ответы (3 шт):

Автор решения: handowl
string = ''
for key, val in d.items():
    string += f'&{key}={val}'

→ Ссылка
Автор решения: MaxU

Воспользуйтесь инструментом, созданным именно для этих целей - urllib.parse.urlencode():

from urllib.parse import urlencode

data = {'param1': 'val1', 'param2': 'string with spaces'}

urlencode(data)
# 'param1=val1&param2=string+with+spaces'

PS urllib.parse.urlencode() - сам позаботится о правильном преобразовании и экранировании необходимых символов так, чтобы получился валидный URL.

→ Ссылка
Автор решения: Dmitry

Какая библиотека используется для отправки запросов к API? Поскольку в requests уже все готово и вам даже делать ничего не надо

import requests

params = {'param_name': 'value',
        'param_name1': 'value1'}
url = "https://example.com/v1/method/"

response = request.get(url, params=params)

и вот такой вот запрос распакуется вот так

https://example.com/v1/method/?param_name=value&param_name1=value1

Документацию можно глянуть здесь

→ Ссылка