Как сделать вложенный список каждого элемента в переменной питоническим способом эффективным способом - PullRequest
0 голосов
/ 02 ноября 2018

Это мой вложенный список

nlist =[[1,"https://w.org",{'delay':0},"segment"],[2,"https://w1.org",{'delay1':60},"segment2"],    [3,"https://w.org",{'delay2:120'},"segment1"]]

Я хочу извлечь и выполнить некоторую операцию, описанную ниже, как это сделать эффективным образом для каждого списка.

number = 1
timedelay = delay
url    = https://w{}.format(timedelay).org  #is delay add 0 in the format or add 60 in place
segment = segment

пример:

 https://w0.org+'/'+number+segment # add 0 when delay 0
          https://w60.org+'/'+number+segment # add 60 when delay1 

Обратите внимание, что добавив значение пары ключей в соответствии со словарем, я могу изменить URL-адрес.

и повторите это для всего списка.

  1. Требуется, если временная задержка равна задержке, добавить 0 в формате или добавить 60 на месте. Это что-то вроде выбора пары ключ-значение {'задержка': 0 'задержка': 60}, это также можно поставить внутри списка и один цикл for может быть сделан для чтения URL списка и формы и назначения других переменных, или это должно быть сделано только отдельно в цикле if после извлечения каждого элемента списка?

  2. в таком списке ["a", [b, c, d], ab] как получить доступ к c и каков его индекс.

1 Ответ

0 голосов
/ 02 ноября 2018
for index, url_parts in enumerate(nlist):
    print("\n\nparam :\n", index, url_parts)

    url = url_parts[1] + '/' + str(url_parts[0]) + url_parts[3]
    # url_parts[2][next(iter(url_parts[2]))] -> get the first element of a dict
    url = url.replace('.org', str(url_parts[2][next(iter(url_parts[2]))])+'.org' )
    print("\nresult :\n", url)
...