将列表中的内容拆分为所需的输出
Posted
技术标签:
【中文标题】将列表中的内容拆分为所需的输出【英文标题】:Split the content in the list to required output 【发布时间】:2021-02-01 06:21:38 【问题描述】:我正在做一个个人项目,但我被困在了一个点上。任何建议表示赞赏
我的意见是这样的
>>> mylist = ["'(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/'"]
我需要的输出是这个
"INSERT INTO CUSTOMER (app_s3) VALUES ((select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||'home/inbound/travel/IMS/')"
我已经从陈述中删除了不必要的部分并保持简短,只是为了让我的问题更清楚。我希望这是可以理解的。我尝试了多种方法,但没有得到所需的结果。
我尝试过的一个这样的事情是 -
>>> 'INSERT INTO (app_s3) VALUES ()'.format(','.join(mylist))
"INSERT INTO (app_s3) VALUES ('(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/')"
>>>
【问题讨论】:
【参考方案1】:将第一个myList
改为:
mylist = ["(select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')"+ '||' + '\'home/inbound/travel/IMS/\'']
在第三个中,我添加了两个 '
并使用 \
将它们转义。
【讨论】:
抱歉,我在写问题描述时犯了一个错误。我已经更改了我的列表。现在它有两个双引号和一个单引号。你能提供一个解决方案吗?【参考方案2】:你可以去掉两端的单引号,然后从'||'分割分成两个字符串。
这是我的实现方式。
>>> first, second = mylist[0][1:-1].split('||')
>>> f'INSERT INTO CUSTOMER (app_s3) VALUES (first||second)'
"INSERT INTO CUSTOMER (app_s3) VALUES ((select envrnmnt_parm_value from envrnmnt_parm where module_nm='Global')||home/inbound/travel/IMS/)"
【讨论】:
以上是关于将列表中的内容拆分为所需的输出的主要内容,如果未能解决你的问题,请参考以下文章