所以我有这样一个列表:
['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'")
TL/DR:需要提供单字符串名称-解决方案更进一步
关于minimal reproducible example最酷的一点是,我可以很容易地看到您正在尝试做什么:
方法
bdd.add_expr(...)
希望变量的名称作为单个字符串-您尝试提供一个包含组合名称的字符串,无论您如何添加或交错字符串分隔符,这都是无效的原始模块代码的链接也非常有用。在bdd.py中没有
declare()
方法-因此我查看了它的构造函数class BDD(_abc.BDD):,并在其基类中找到了该方法:_abc.py - delcare implementation,它提供了:您可以在此处阅读有关通过f.e.的此类参数的更多信息:
解决方案-改为提供名称:
如果确实要从字符串开始,则根本不需要字符串分隔符,只需提供名称:
相关问题 更多 >
编程相关推荐