gpt4 book ai didi

python - 你能把一个集合分成相等的部分吗?

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

我想做如下的事情:

s = set()
s.add('a')
s.add('q')
s.add('x')
s.add('banana')

s1 = s(:1)
s2 = s(2:3)

以上是对集合的有效操作吗?有没有办法将以上内容应用于生成器,例如:

def Chunks(container, size):
for i in xrange(0, len(container), size):
yield container(i:i+size)

最佳答案

您可以将集合转换为列表,进行切片,然后将其转换回集合:

In [13]: s = {1,2,3}

In [14]: s_l = list(s)

In [15]: print set(s_l[:1]), set(s_l[1:])
set([1]) set([2, 3])

请注意集合不支持排序,因此任何此类排序操作都必须在列表中完成:

In [16]: s = {1,2,3,0}

In [17]: s
Out[17]: {0, 1, 2, 3}

In [18]: s_l = list(s)

In [19]: print set(s_l[:2]), set(s_l[2:])
set([0, 1]) set([2, 3])

关于python - 你能把一个集合分成相等的部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29293266/

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