如何以有效的方式以pythonic方式将每个元素嵌套列出到变量中

时间:2018-11-02 12:53:40

标签: python pandas dictionary nested-lists

这是我的嵌套列表

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

我想提取并执行以下操作,如何针对每个列表以pythonic有效的方式做到这一点。

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. 要求是,如果timedelay是delay,则在格式中添加0或在适当位置添加60。这就像选择键值对{'delay':0'delay':60}一样在列表内部,可以使用一个for循环读取列表和表单URL以及其他变量分配,还是应该仅在提取每个列表元素之后的循环中单独进行操作?

  2. 在此类列表[“ a”,[b,c,d],ab]中如何访问c及其索引是什么。

1 个答案:

答案 0 :(得分:1)

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)