Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-向前迭代/扩展元组列表_Python_List - Fatal编程技术网

python-向前迭代/扩展元组列表

python-向前迭代/扩展元组列表,python,list,Python,List,对不起,这可能真的很简单,但我想不出一个办法。我有这样一份清单: L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])] 我想迭代L,向前扩展每个元组中的第二项。这将提供: L = [('a', [[0],[1]]), ('b', [[0], [1], [2],[3]]), ('c', [[0], [1], [2],[3], [4],[5]])] 我想不出一个办法。有人能帮忙吗? 谢谢试试这个: L = [('a'

对不起,这可能真的很简单,但我想不出一个办法。我有这样一份清单:

    L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])]
我想迭代L,向前扩展每个元组中的第二项。这将提供:

    L = [('a', [[0],[1]]), ('b', [[0], [1], [2],[3]]), ('c', [[0], [1], [2],[3], [4],[5]])]
我想不出一个办法。有人能帮忙吗? 谢谢

试试这个:

L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])]
prev = []
for i,el in enumerate(L):
    el_new = (el[0], prev + el[1])
    prev += el[1]
    L[i] = el_new
试试这个:

L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])]
prev = []
for i,el in enumerate(L):
    el_new = (el[0], prev + el[1])
    prev += el[1]
    L[i] = el_new
试试这个:

L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])]
prev = []
for i,el in enumerate(L):
    el_new = (el[0], prev + el[1])
    prev += el[1]
    L[i] = el_new
试试这个:

L = [('a', [[0],[1]]), ('b', [[2],[3]]), ('c', [[4],[5]])]
prev = []
for i,el in enumerate(L):
    el_new = (el[0], prev + el[1])
    prev += el[1]
    L[i] = el_new
不确定这是否是您想要的方式,但这将完成工作:

sum = []
for i,item in enumerate(L):
    sum += item[1]
    L[i] = (item[0], sum[:])
不确定这是否是您想要的方式,但这将完成工作:

sum = []
for i,item in enumerate(L):
    sum += item[1]
    L[i] = (item[0], sum[:])
不确定这是否是您想要的方式,但这将完成工作:

sum = []
for i,item in enumerate(L):
    sum += item[1]
    L[i] = (item[0], sum[:])
不确定这是否是您想要的方式,但这将完成工作:

sum = []
for i,item in enumerate(L):
    sum += item[1]
    L[i] = (item[0], sum[:])

使用列表调用此函数:

def extend(list):
    a = []
    extended_list = []
    for i in list:
        a += i[1]
        i = (i[0], a[:])
        extended_list.append(i)
   return extended_list

使用列表调用此函数:

def extend(list):
    a = []
    extended_list = []
    for i in list:
        a += i[1]
        i = (i[0], a[:])
        extended_list.append(i)
   return extended_list

使用列表调用此函数:

def extend(list):
    a = []
    extended_list = []
    for i in list:
        a += i[1]
        i = (i[0], a[:])
        extended_list.append(i)
   return extended_list

使用列表调用此函数:

def extend(list):
    a = []
    extended_list = []
    for i in list:
        a += i[1]
        i = (i[0], a[:])
        extended_list.append(i)
   return extended_list

谢谢我对python不是很在行,我需要在一个巨大的列表上运行它。你知道你和沙肖夫斯基的哪个答案更有效吗?谢谢。我对python不是很在行,我需要在一个巨大的列表上运行它。你知道你和沙肖夫斯基的哪个答案更有效吗?谢谢。我对python不是很在行,我需要在一个巨大的列表上运行它。你知道你和沙肖夫斯基的哪个答案更有效吗?谢谢。我对python不是很在行,我需要在一个巨大的列表上运行它。您知道您和sharshofski的答案中哪一个更有效吗?@jaydh,要对这段v.s.类似代码进行粗略的时间比较,您可以尝试在这段代码之前/之后调用time.time(),并打印差异。有关示例,请参见。@jaydh,有关此v.s.类似代码的大致时间比较,您可以尝试在此代码之前/之后调用time.time(),并打印差异。有关示例,请参见。@jaydh,有关此v.s.类似代码的大致时间比较,您可以尝试在此代码之前/之后调用time.time(),并打印差异。有关示例,请参见。@jaydh,有关此v.s.类似代码的大致时间比较,您可以尝试在此代码之前/之后调用time.time(),并打印差异。有关示例,请参见。