Python在列表中追加字符串,就像不带双引号的元素一样

2024-04-25 17:18:39 发布

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

澄清:

这里的问题是我想把list1的内容放在List2中。正如评论中所说,我做得不对。在

我有一份名单 value4=[{PARAMS':['ProcessingDate=2016-08-29','ReRun=Y']}]

PARAMS的元素应该以'-param'字符串作为后缀,所以我用value4[0]['PARAMS']的元素创建了一个新的列表,然后删除了这个列表的方括号,该列表以string结尾 最终参数 '-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y'

然后我试图将这些值作为元素插入另一个列表中。在

myNewlist = ['C:\This\Path', 'value2', 'value3', FINALPARAMS, 'value5']

这将在FINALPARAMS值周围使用双引号给出输出

['C:\\This\\Path', 'value2', 'value3', "'-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y'", value5]

我想去掉这个新列表中的双引号


原题:

对于Python专家来说,这可能是一个简单的解决方案,但我已经厌倦了寻找解决方案。我已经完成了我能做的大多数字符串操作,例如转换为字符串并尝试替换等:

我有下面这样的列表,我需要将value4的数据正确地放入'mylist中,而不使用双引号。在

使用Python3.5

我的value4如下所示

   value4 = [{'PARAMS': ['ProcessingDate=2016-08-29', 'ReRun=Y']}]

我将其转换为如下所示的列表,我需要-param作为PARAMS中每个元素的后缀

^{pr2}$

print FINALPARAMS给出了所需的结果。i、 e

'-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y'

我在下面的列表中使用FINALPARAMS打印值,我想去掉双引号,把从FINALPARAMS得到的字符串作为myNewlist中的普通列表项处理

myNewlist = ['C:\This\Path', 'value2', 'value3', FINALPARAMS, 'value5']

myNewlist结果如下:观察我要删除的双引号,以便将值视为列表项

['C:\\This\\Path', 'value2', 'value3', "'-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y'", value5]

我花了4个小时找到了解决方案,起初对我来说很简单。 我尝试将这个newList转换为字符串,并替换了双引号,但是subprocess.checkoutput查找合适的列表项

我试着把这个列表转换成字符串,然后做replace('"','')结果它给windows路径加了4个反斜杠,这是我在列表中的第一个元素。我的命令给出了一个错误,系统找不到指定的路径


Tags: path字符串rerun元素列表paramparamsthis
1条回答
网友
1楼 · 发布于 2024-04-25 17:18:39

我相信你把一个列表放在一个列表中和连接两个列表是很混乱的:

[1, 2, paramlist, 5]         # [1, 2, [3, 4], 5]

不等于

^{pr2}$

不是使用正确的操作,而是尝试将列表转换为字符串以手动删除方括号。不用说,这是错误的做法。在

所以我想你在找

value4 = [{'PARAMS': ['ProcessingDate=2016-08-29', 'ReRun=Y']}]

paramlist = value4[0]['PARAMS']
paramlist = [elem for x in paramlist for elem in ('-param', x)]
myNewlist = ['Value1', 'value2', 'value3'] + paramlist + ['value5']

print (myNewlist)

它产生了

['Value1', 'value2', 'value3', '-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y', 'value5']

相关问题 更多 >