Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_List_Python 3.x - Fatal编程技术网

Python将字符串作为不带双引号的元素附加到列表中

Python将字符串作为不带双引号的元素附加到列表中,python,string,list,python-3.x,Python,String,List,Python 3.x,澄清: 这里的问题是我想把列表1的内容放在列表2中。正如评论中所说,我做得不对 我得到一份名单 value4=[{'PARAMS':['ProcessingDate=2016-08-29','ReRun=Y']}] PARAMS的元素应该以'-param'字符串作为后缀,因此我创建了一个新的列表,其中包含value4[0]['PARAMS']元素,然后删除了该列表中以字符串结尾的方括号 终局图 '-param',ProcessingDate=2016-08-29','-param',ReRun=

澄清:

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

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

PARAMS的元素应该以'-param'字符串作为后缀,因此我创建了一个新的列表,其中包含value4[0]['PARAMS']元素,然后删除了该列表中以字符串结尾的方括号 终局图
'-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'中,不带双引号

使用python 3.5

我得到我的
值4
如下

   value4 = [{'PARAMS': ['ProcessingDate=2016-08-29', 'ReRun=Y']}]
我将其转换为如下列表,我需要
-param
作为
PARAMS

paramlist   = value4[0]['PARAMS']
newparamlist = []
for x in paramlist:
    newparamlist.append('-param')
    newparamlist.append(x)
FINALPARAMS = (str(newparamlist)[1:-1]) #Taking out the squareBrackets
print FINALPARAMS
给出所需的结果。i、 e

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

我使用下面列表中的
FINALPARAMS
,它像这样打印值,我想去掉双引号,并将从
FINALPARAMS
获得的字符串作为
myNewlist
中的正常列表项来处理

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

myNewlist
结果如下:观察DoubleQuote我想去掉它,因此值被视为列表项

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

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


我尝试将列表转换为字符串并执行
replace(“,”)
结果是它在windows路径上加了4个反斜杠,这是我在列表中的第一个元素。我的命令给出了一个错误,系统找不到指定的路径

我相信你把一个列表放在一个列表中连接两个列表

[1, 2, paramlist, 5]         # [1, 2, [3, 4], 5]
不一样

[1, 2] + paramlist + [5]     # [1, 2, 3, 4, 5]
您试图将列表强制转换为字符串以手动删除方括号,而不是使用正确的操作。不用说,这是错误的做法

所以我想你在找

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']

你的问题相当混乱。你能试着更简短、更清晰地发布一个包含输入、代码、输出和所需输出的简单示例吗?抱歉@NilsWerner,我认为提供更多信息更好。也许我应该更简洁。你仍然应该编辑你的问题,使其更简洁。记住,人们正在阅读已经回答的问题为他们的问题找到解决方案。谢谢你的回答,这解决了我的问题。我接受了这个回答@Nils-Werner毫无疑问,我的方法是非常错误的,谢谢你的详细解释。我今天学到了一些新东西:)