【发布时间】:2020-09-10 13:44:51
【问题描述】:
所以我有一个这样的列表:
['a', 'b', 'c', 'd', 'e' ]
我已将此列表转换为字符串:
"'a', 'b', 'c', 'd', 'e'"
字符串周围的双引号仅用于环绕单个引号 - 我需要单个引号。问题是当我将这个字符串输入到一个只接受这个的包时:
'a', 'b', 'c', 'd', 'e'
当然,有一个错误。现在,我尝试了.replace(' " ' , ' ')、字符串切片,以及所有其他提到的here。什么都不起作用,因为双引号不是字符串的一部分,而只是为了打印它而存在,并且在赋值期间被带到变量中。
编辑:
这是我如何将列表转换为字符串的部分内容:
string=''
# ...
string = string + (" '%s '," %(items) )
由于以下评论,请编辑以添加更多信息:
我正在玩这个tool。在下面的示例中,我要说的是我正在自动生成一些变量以放入第三行,但无论我做什么,它总是在字符串周围加上一个逗号:
from dd import autoref as _bdd
bdd = _bdd.BDD()
bdd.declare('x', 'y', 'z') # ----------------------<this line>
u = bdd.add_expr('(x /\ y) \/ ~ z')
bdd.collect_garbage() # optional
bdd.dump('awesome.pdf')
我得到的错误是:
AssertionError: undefined variable "a", known variables are:
{"'x', 'y', 'z'": 0}
如果您只需将第三行替换为以下内容,您将能够生成此错误:
bdd.declare("'x', 'y', 'z'")
【问题讨论】:
-
请检查上面的编辑文本。不幸的是,错误的原因是我已经解释过的——一个额外的逗号被传递给变量,因为手动输入 没有额外的逗号不会给我任何错误。
标签: python python-3.x string parameter-passing comma