将当前元素与列表中的下一个元素合并

2024-10-01 00:27:51 发布

您现在位置:Python中文网/ 问答频道 /正文

由于这个问题,我感到非常尴尬,但我只想将列表中的当前元素与下一个元素结合起来。名单如下:

['scalar2_q1p2_114(-2,-2) =', '0', 'scalar2_q1p2_114(-2,-1) =', '0',
 'scalar2_q1p2_114(-2,0) =', '0', 'scalar2_q1p2_114(-2,1) =', '0',
 'scalar2_q1p2_114(-2,2) =', '0', 'scalar2_q1p2_114(-1,-2) =', '0',
 'scalar2_q1p2_114(-1,-1) =', '0', 'scalar2_q1p2_114(-1,0) =', '0',
 'scalar2_q1p2_114(-1,1) =', '0', 'scalar2_q1p2_114(-1,2) =', '0',
 'scalar2_q1p2_114(0,-2) =', '0', 'scalar2_q1p2_114(0,-1) =', '0',
 'scalar2_q1p2_114(0,0) =', '0', 'scalar2_q1p2_114(0,1) =', '0',
 'scalar2_q1p2_114(0,2) =', '0', 'scalar2_q1p2_114(1,-2) =', '0',
 'scalar2_q1p2_114(1,-1) =', '0', 'scalar2_q1p2_114(1,0) =', '0',
 'scalar2_q1p2_114(2,-2) =', '0', 'scalar2_q1p2_114(2,-1) =', '0',
 'scalar2_q1p2_114(2,0) =', '0', 'scalar2_q1p2_114(1,2) =',
 'scalar2_q1p2_114(1,1)*((-d+3)/(SPD[p2,p2]))']

我想要的是一个列表,形式如下:

['scalar2_q1p2_114(-2,-2) = 0', ...].

有人能帮我解决这个小问题吗


Tags: 元素列表形式p2名单spdscalar2q1p2
3条回答

您可以使用str.join并使用切片在其他元素上进行压缩:

list(map('  '.join, zip(l[::2], l[1::2])))

['scalar2_q1p2_114(-2,-2) = 0',
 'scalar2_q1p2_114(-2,-1) = 0',
 'scalar2_q1p2_114(-2,0) = 0',
 'scalar2_q1p2_114(-2,1) = 0',
 'scalar2_q1p2_114(-2,2) = 0',
 'scalar2_q1p2_114(-1,-2) = 0',
 'scalar2_q1p2_114(-1,-1) = 0',
 'scalar2_q1p2_114(-1,0) = 0',
 'scalar2_q1p2_114(-1,1) = 0',
 'scalar2_q1p2_114(-1,2) = 0',
 'scalar2_q1p2_114(0,-2) = 0',
 'scalar2_q1p2_114(0,-1) = 0',
 'scalar2_q1p2_114(0,0) = 0',
 'scalar2_q1p2_114(0,1) = 0',
 'scalar2_q1p2_114(0,2) = 0',
 'scalar2_q1p2_114(1,-2) = 0',
 'scalar2_q1p2_114(1,-1) = 0',
 'scalar2_q1p2_114(1,0) = 0',
 'scalar2_q1p2_114(2,-2) = 0',
 'scalar2_q1p2_114(2,-1) = 0',
 'scalar2_q1p2_114(2,0) = 0',
 'scalar2_q1p2_114(1,2) = scalar2_q1p2_114(1,1)*((-d+3)/(SPD[p2,p2]))']

您必须一次遍历列表中的2个元素

试试这个

[my_list[i]+my_list[i+1] for i in range(0,len(my_list)-1,2)] #my_list is the original list you've posted in the question

['scalar2_q1p2_114(-2,-2) =0',
 'scalar2_q1p2_114(-2,-1) =0',
 'scalar2_q1p2_114(-2,0) =0',
 'scalar2_q1p2_114(-2,1) =0',
 'scalar2_q1p2_114(-2,2) =0',
 'scalar2_q1p2_114(-1,-2) =0',
 'scalar2_q1p2_114(-1,-1) =0',
 'scalar2_q1p2_114(-1,0) =0',
 'scalar2_q1p2_114(-1,1) =0',
 'scalar2_q1p2_114(-1,2) =0',
 'scalar2_q1p2_114(0,-2) =0',
 'scalar2_q1p2_114(0,-1) =0',
 'scalar2_q1p2_114(0,0) =0',
 'scalar2_q1p2_114(0,1) =0',
 'scalar2_q1p2_114(0,2) =0',
 'scalar2_q1p2_114(1,-2) =0',
 'scalar2_q1p2_114(1,-1) =0',
 'scalar2_q1p2_114(1,0) =0',
 'scalar2_q1p2_114(2,-2) =0',
 'scalar2_q1p2_114(2,-1) =0',
 'scalar2_q1p2_114(2,0) =0',
 'scalar2_q1p2_114(1,2) =scalar2_q1p2_114(1,1)*((-d+3)/(SPD[p2,p2]))']

您可以将列表理解与zip内置函数一起使用:

l = ['scalar2_q1p2_114(-2,-2) =', '0', 'scalar2_q1p2_114(-2,-1) =', '0',
 'scalar2_q1p2_114(-2,0) =', '0', 'scalar2_q1p2_114(-2,1) =', '0',
 'scalar2_q1p2_114(-2,2) =', '0', 'scalar2_q1p2_114(-1,-2) =', '0',
 'scalar2_q1p2_114(-1,-1) =', '0', 'scalar2_q1p2_114(-1,0) =', '0',
 'scalar2_q1p2_114(-1,1) =', '0', 'scalar2_q1p2_114(-1,2) =', '0',
 'scalar2_q1p2_114(0,-2) =', '0', 'scalar2_q1p2_114(0,-1) =', '0',
 'scalar2_q1p2_114(0,0) =', '0', 'scalar2_q1p2_114(0,1) =', '0',
 'scalar2_q1p2_114(0,2) =', '0', 'scalar2_q1p2_114(1,-2) =', '0',
 'scalar2_q1p2_114(1,-1) =', '0', 'scalar2_q1p2_114(1,0) =', '0',
 'scalar2_q1p2_114(2,-2) =', '0', 'scalar2_q1p2_114(2,-1) =', '0',
 'scalar2_q1p2_114(2,0) =', '0', 'scalar2_q1p2_114(1,2) =',
 'scalar2_q1p2_114(1,1)*((-d+3)/(SPD[p2,p2]))']

[f + ' ' + s for f, s in zip(l[::2], l[1::2])]

输出:

['scalar2_q1p2_114(-2,-2) = 0',
 'scalar2_q1p2_114(-2,-1) = 0',
 'scalar2_q1p2_114(-2,0) = 0',
 'scalar2_q1p2_114(-2,1) = 0',
 'scalar2_q1p2_114(-2,2) = 0',
 'scalar2_q1p2_114(-1,-2) = 0',
 'scalar2_q1p2_114(-1,-1) = 0',
 'scalar2_q1p2_114(-1,0) = 0',
 'scalar2_q1p2_114(-1,1) = 0',
 'scalar2_q1p2_114(-1,2) = 0',
 'scalar2_q1p2_114(0,-2) = 0',
 'scalar2_q1p2_114(0,-1) = 0',
 'scalar2_q1p2_114(0,0) = 0',
 'scalar2_q1p2_114(0,1) = 0',
 'scalar2_q1p2_114(0,2) = 0',
 'scalar2_q1p2_114(1,-2) = 0',
 'scalar2_q1p2_114(1,-1) = 0',
 'scalar2_q1p2_114(1,0) = 0',
 'scalar2_q1p2_114(2,-2) = 0',
 'scalar2_q1p2_114(2,-1) = 0',
 'scalar2_q1p2_114(2,0) = 0',
 'scalar2_q1p2_114(1,2) = scalar2_q1p2_114(1,1)*((-d+3)/(SPD[p2,p2]))']

相关问题 更多 >