Skip to content

Commit 486d3b9

Browse files
author
Release Manager
committed
gh-36250: various details in sets/disjoint_set fix various details in the modified file ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. URL: #36250 Reported by: Frédéric Chapoton Reviewer(s): Kwankyu Lee
2 parents 357b34b + 573aa26 commit 486d3b9

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

src/sage/sets/disjoint_set.pyx

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def DisjointSet(arg):
8686
8787
INPUT:
8888
89-
- ``arg`` -- non negative integer or an iterable of hashable objects.
89+
- ``arg`` -- non negative integer or an iterable of hashable objects.
9090
9191
EXAMPLES:
9292
@@ -141,6 +141,7 @@ def DisjointSet(arg):
141141
else:
142142
return DisjointSet_of_hashables(arg)
143143

144+
144145
cdef class DisjointSet_class(SageObject):
145146
r"""
146147
Common class and methods for :class:`DisjointSet_of_integers` and
@@ -398,7 +399,7 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
398399
"""
399400
l = []
400401
cdef int i
401-
for i from 0 <= i < self.cardinality():
402+
for i in range(self.cardinality()):
402403
l.append(self._nodes.parent[i])
403404
return l
404405

@@ -439,7 +440,7 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
439440
sage: d
440441
{{0, 1, 2, 3}, {4}}
441442
"""
442-
for i,parent in enumerate(l):
443+
for i, parent in enumerate(l):
443444
self.union(parent, i)
444445

445446
def find(self, int i):
@@ -491,8 +492,8 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
491492
492493
INPUT:
493494
494-
- ``i`` - element in ``self``
495-
- ``j`` - element in ``self``
495+
- ``i`` -- element in ``self``
496+
- ``j`` -- element in ``self``
496497
497498
EXAMPLES::
498499
@@ -515,9 +516,9 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
515516
"""
516517
cdef int card = self._nodes.degree
517518
if i < 0 or i >= card:
518-
raise ValueError('i(=%s) must be between 0 and %s'%(i, card-1))
519+
raise ValueError('i(=%s) must be between 0 and %s' % (i, card - 1))
519520
if j < 0 or j >= card:
520-
raise ValueError('j(=%s) must be between 0 and %s'%(j, card-1))
521+
raise ValueError('j(=%s) must be between 0 and %s' % (j, card - 1))
521522
OP_join(self._nodes, i, j)
522523

523524
def root_to_elements_dict(self):
@@ -541,7 +542,7 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
541542
"""
542543
s = {}
543544
cdef int i
544-
for i from 0 <= i < self.cardinality():
545+
for i in range(self.cardinality()):
545546
o = self.find(i)
546547
if o not in s:
547548
s[o] = []
@@ -565,7 +566,7 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
565566
"""
566567
d = {}
567568
cdef int i
568-
for i from 0 <= i < self.cardinality():
569+
for i in range(self.cardinality()):
569570
d[i] = self.find(i)
570571
return d
571572

@@ -597,11 +598,8 @@ cdef class DisjointSet_of_integers(DisjointSet_class):
597598
{{0}, {1, 2, 3, 4}}
598599
sage: d.to_digraph().edges(sort=True)
599600
[(0, 0, None), (1, 1, None), (2, 1, None), (3, 1, None), (4, 1, None)]
600-
601601
"""
602-
d = {}
603-
for i from 0 <= i < self.cardinality():
604-
d[i] = [self._nodes.parent[i]]
602+
d = {i: [self._nodes.parent[i]] for i in range(self.cardinality())}
605603
from sage.graphs.graph import DiGraph
606604
return DiGraph(d)
607605

@@ -639,7 +637,7 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
639637
640638
INPUT:
641639
642-
- ``iterable`` -- An iterable of hashable objects.
640+
- ``iterable`` -- An iterable of hashable objects.
643641
644642
EXAMPLES::
645643
@@ -654,7 +652,7 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
654652
"""
655653
self._int_to_el = []
656654
self._el_to_int = {}
657-
for (i,e) in enumerate(iterable):
655+
for i, e in enumerate(iterable):
658656
self._int_to_el.append(e)
659657
self._el_to_int[e] = i
660658
self._d = DisjointSet_of_integers(len(self._int_to_el))
@@ -716,7 +714,7 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
716714
gs = self._d.__getstate__()
717715
l = []
718716
cdef int i
719-
for i from 0 <= i < self.cardinality():
717+
for i in range(self.cardinality()):
720718
l.append(self._int_to_el[gs[i]])
721719
return list(zip(self._int_to_el, l))
722720

@@ -743,7 +741,7 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
743741
sage: d
744742
{{'a', 'b', 'c', 'd', 'e'}}
745743
"""
746-
for a,b in l:
744+
for a, b in l:
747745
self.union(a, b)
748746

749747
def find(self, e):
@@ -794,8 +792,8 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
794792
795793
INPUT:
796794
797-
- ``e`` - element in ``self``
798-
- ``f`` - element in ``self``
795+
- ``e`` -- element in ``self``
796+
- ``f`` -- element in ``self``
799797
800798
EXAMPLES::
801799
@@ -889,7 +887,7 @@ cdef class DisjointSet_of_hashables(DisjointSet_class):
889887
[(0, 0, None), (1, 1, None), (2, 1, None), (3, 1, None), (4, 1, None)]
890888
"""
891889
d = {}
892-
for i from 0 <= i < self.cardinality():
890+
for i in range(self.cardinality()):
893891
e = self._int_to_el[i]
894892
p = self._int_to_el[self._nodes.parent[i]]
895893
d[e] = [p]

0 commit comments

Comments
 (0)