jus*_*tes -1 python string list python-3.x
澄清:
这里的问题是我想将list1的内容放在List2中.正如评论中所建议的那样,我做错了.
我得到一个list1 value4 = [{'PARAMS':['ProcessingDate = 2016-08-29','ReRun = Y']}]
PARAMS的元素应以'-param'字符串为后缀,因此我创建了一个包含value4 [0] ['PARAMS']元素的新列表然后删除了此列表的方括号,最后为字符串FINALPARAMS
'-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
我value4在下面得到我的意见
value4 = [{'PARAMS': ['ProcessingDate=2016-08-29', 'ReRun=Y']}]
Run Code Online (Sandbox Code Playgroud)
我将它转换为如下所示的列表,我需要-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
Run Code Online (Sandbox Code Playgroud)
print FINALPARAMS给出了期望的结果.即
'-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为字符串并替换doubleQuotes,但我的subprocess.checkoutput查找正确的列表项
我尝试将列表转换为字符串,replace('"','') 结果发现它已经将4个反斜杠放到了Windows路径中,这是我列表中的第一个元素.并且我的命令给出了错误系统无法找到指定的路径
我相信你把列表放在列表中并连接两个列表令人困惑:
[1, 2, paramlist, 5] # [1, 2, [3, 4], 5]
Run Code Online (Sandbox Code Playgroud)
是不一样的
[1, 2] + paramlist + [5] # [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
您尝试将列表转换为字符串以手动删除方括号,而不是使用正确的操作.毋庸置疑,这是错误的做法.
所以我认为你在寻找
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)
Run Code Online (Sandbox Code Playgroud)
产量
['Value1', 'value2', 'value3', '-param', 'ProcessingDate=2016-08-29', '-param', 'ReRun=Y', 'value5']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |