gpt4 book ai didi

Python - 仅一种类型的集合

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:10 25 4
gpt4 key购买 nike

我想在 Python 中创建一个 Set 类,但与已在 Python 中实现的 set 类不同,我希望我的集合仅包含一种类型的元素。例如一组整数、一组字符串和一组任何其他用户定义的类。

Python中有什么方法可以将类型作为参数传递给类吗?或者还有其他方法吗?

我正在考虑使用 dict 来实现该集合,但 dict 可以包含不同类型的元素。

最佳答案

类似的东西?

from sets import Set

class MySet(Set):

def __init__(self, iter, klass=None):
if klass is not None:
for item in iter:
if not isinstance(item, klass):
raise Exception("Error")
super(MySet, self).__init__(iter)


if __name__ == '__main__':

set1 = MySet([1,2,3], int)
set2 = MySet([2,3,4], int)

print set2.intersection(set1)

如果您希望在像 intersection 这样的方法中控制类型,您应该重写对生成新 Set 的调用 (self.__class__(common))

再见

关于Python - 仅一种类型的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com