Python Counter类加法运算符重载疑问:字符串参数如何传入魔法方法?
实现Counter类加法运算符重载:整数列表与字符串拼接
完整实现代码
from typing import List class Counter: def __init__(self, values: List[int]): self.values = values def __add__(self, other: str) -> List[str]: # 遍历整数列表,与传入的字符串拼接成指定格式 return [f"{num} {other}" for num in self.values]
关键说明
- 执行
Counter实例 + 字符串操作时,Python会自动调用Counter类的__add__方法:self指代当前Counter实例,包含初始化时传入的整数列表other就是你要传入的目标字符串(比如"mississippi")
- 方法内部通过列表推导式完成每个整数与字符串的空格分隔拼接,直接返回符合要求的字符串列表。
示例验证
运行以下代码:
>>> Counter([1, 2, 3]) + "mississippi" ["1 mississippi", "2 mississippi" , "3 mississippi"]
输出结果完全符合任务要求。
内容的提问来源于stack exchange,提问作者nadine
相关产品推荐
相关产品推荐

