python里的join(列表)_python – 如何在对象列表中str.join()

class A:

def __init__(self, text):

self.text = text

def __repr__(self):

return self.text

def __str__(self):

return self.text

def __add__(self, other):

return str(self) + other

def __radd__(self, other):

return other + str(self)

我希望A对象列表与str.join()“可连接”.

我应该实现哪个special method来实现这个目标?

当然,我可以首先提取一个文本列表然后加入它,但这不是我想要的.

b = A('Hello')

c = A('World')

l = [b, c]

print b, c

print l

print b + ' ' + c

print ' '.join(l) #

Hello World

[Hello, World]

Hello World

Traceback (most recent call last):

File "sandbox.py", line 24, in

print ' '.join(l)

TypeError: sequence item 0: expected string, instance found

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值