能否以[[x:y]]的形式返回一个非字符串?

问题描述 投票:0回答:1

我正在做一个测试,编译器期望打印出 [[1:2], [3:4]] 到控制台。如果不格式化为字符串,这种输出格式是否不可能?我试着把列表中的每个元素都格式化为字符串,例如 ['[1:2]', '[3:4]'] 但编译器拒绝了这个答案。

python
1个回答
2
投票

如果你拒绝 print('[[1:2], [3:4]]') 那么......技术上是的,实际上......好吧。

没有一个默认的 Python 对象具有 [y:x] 但你可以做一个。

class WeirdRepr:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __repr__(self):
        return f'[{self.x}:{self.y}]'


lst = [WeirdRepr(1, 2), WeirdRepr(3, 4)]

print(lst) # [[1:2], [3:4]]
© www.soinside.com 2019 - 2024. All rights reserved.