首页 > 解决方案 > 如何多次编辑附加到列表中的行?

问题描述

有一个场景,

一个。以前列表只有一个值,因此可以直接添加如下所示的行。

s_array.append(' %s [%d:0] %s;'%(str(s_ud_in_cfg_array[i][1]), int(s_ud_l_var_temp[0]), str(s_ud_in_cfg_array[i][0]), ))

湾。有一个列表有多个值的场景,比如

s_ud_l_var_tmp = ['32', '64', '16']

C。我想将下面给出的数组中的值添加到列表中。

s_array.append(' %s [%d:0][%d:0][%d:0] %s;'%(str(s_ud_in_cfg_array[i][1]), int(s_ud_l_var_temp[0]), int(s_ud_l_var_temp[1]), int(s_ud_l_var_temp[2]), str(s_ud_in_cfg_array[i][0]), ))

C。但是这里的问题是 s_ud_l_var_tmp 中的值可以保持变化,并且不会一直是三个。

更新:

一个。最后我得到了两个数组,如下所示

value of le_temp_list ['%s', '[%s-1:0]', '[%d:0]', '%s']
value of le_temp_list_val ['logic', '`ADR_WTH', 31, 'green']

其中数组 le_temp_list 有 %d 和 %s 的列表,要替换的值在 le_temp_list_val 中。

我想要如下所示的东西,这样我就可以将下面执行的输出附加到一个数组中。

'%s [%s-1:0] [%d:0] %s'%(logic, `ADR_WTH, 31, green)

所以最终的输出应该是这样的,

logic [`ADR_WTH-1:0] [31:0] green

即 le_temp_list 中的表达式被 le_temp_list_val 中的值替换并表示输出。

标签: pythonpython-2.7

解决方案


这是你想要达到的目标吗?

s_ud_in_cfg_array = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
s_ud_l_var_temp = [1, 2, 3]
s_array = [];

for i in range(0, len(s_ud_in_cfg_array)):
    s_array.append(' %s [%d:0] %s;' % (str(s_ud_in_cfg_array[i][1]), int(s_ud_l_var_temp[0]), str(s_ud_in_cfg_array[i][0])))

print(s_array)

// output: [' b [1:0] a;', ' e [1:0] d;', ' h [1:0] g;']

推荐阅读