[英]What methods does the built-in join function use?
我正在尝试使用
a = ''.join((Symbol('a'), Symbol('b'))
但我明白了
File "/home/j/_Github-Projects/MiscScripts/string_permutations.py", line 72, in get_permutations
permutation = Symbol(''.join(permutation))
TypeError: sequence item 0: expected str instance, Symbol found
python docs说一个iterable被接受为join
的参数,但这似乎与异常告诉我的是矛盾的。
我尝试在Symbol
定义一些基类方法,但无济于事。
def __concat__(self, other):
return Symbol(self.symbol + other.symbol)
__add__ = __concat__
__and__ = __concat__
def __iconcat__(self, other):
self.symbol += other.symbol
return self
好的,应该这样做,而不要join
。
permutation = functools.reduce(
lambda x, y: x.concatenate(y),
permutation)
动态语言的乐趣在于浏览了参数名称,但没有意识到仅接受某些值类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.