Помещение переменной из списка в строку (код URL) - PullRequest
0 голосов
/ 04 мая 2020

мой список выглядит следующим образом:

lst
['78251'],
 ['18261'],
 ['435921'],
 ['74252'],
 ...]

Я хочу поместить эти числа в URL-код http://api.brain-map.org/api/v2/data/query.xml?criteria=model :: SectionDataSet, rma :: критерии, [не удалось $ eq% 27false% 27], продукты [сокращение $ eq% 27Mouse% 27], гены [entrez_id $ eq% 27 inhere % 27] '

Я пробовал

for i in lst:
    b = 'http://api.brain-map.org/api/v2/data/query.xml?criteria=model::SectionDataSet,rma::criteria,[failed$eq%27false%27],products[abbreviation$eq%27Mouse%27],genes[entrez_id$eq%27%d%27]' %i

Я не получаю сообщение об ошибке, но оно говорит:


b
Traceback (most recent call last):

  File "<ipython-input-79-89e6c98d9288>", line 1, in <module>
    b

NameError: name 'b' is not defined

Так что я думаю, что трудная часть заключается в том, что между строкой нет пробела ... Как я могу справиться с этим?

Ответы [ 3 ]

1 голос
/ 04 мая 2020

Попробуйте этот гораздо более подход pythoni c, используя .format ():

for i in lst:
    b = "http://api.brain-map.org/api/v2/data/query.xml?criteria=model::SectionDataSet,rma::criteria,[failed$eq%27false%27],products[abbreviation$eq%27Mouse%27],genes[entrez_id$eq%27{}%27]".format(i[0])
1 голос
/ 04 мая 2020

URL-адрес сложный, но см. Пример URL-адреса:

a= 'http://api.brain-map.org/api/v2/data/query.xml?criteria=' + i + '&gene=model:' + i
0 голосов
/ 04 мая 2020
lst = [["78251"], ["18261"], ["435921"], ["74252"]]
for val, in lst:
    b = "http://api.brain-map.org/api/v2/data/query.xml?criteria=model::SectionDataSet," \
        "rma::criteria,[failed$eq%27false%27],products[abbreviation$eq%27Mouse%27]," \
        f"genes[entrez_id$eq%27{val}%27]"

Прямой доступ к интересующим значениям с помощью val, in lst и использование неявной конкатенации строк вместе с f-строкой в ​​конце для замены значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...