diff --git a/active_projects/eop/bayes.py b/active_projects/eop/bayes.py index 1af6581c..0ffd0bdc 100644 --- a/active_projects/eop/bayes.py +++ b/active_projects/eop/bayes.py @@ -71,10 +71,9 @@ class IntroducePokerHand(PiCreatureScene, SampleSpaceScene): card.set_height(community_cards.get_height()) selected_community_cards = VGroup(*[card for card in community_cards if card.numerical_value >= 10]) - card_cmp = lambda c1, c2 : cmp( - c1.numerical_value, c2.numerical_value + selected_community_cards.submobjects.sort( + key=lambda c: c.numerical_value ) - selected_community_cards.submobjects.sort(card_cmp) selected_community_cards.save_state() for card in selected_community_cards: @@ -84,7 +83,9 @@ class IntroducePokerHand(PiCreatureScene, SampleSpaceScene): you.hand.target, [c.target for c in selected_community_cards] )) - straight_cards.submobjects.sort(card_cmp) + straight_cards.submobjects.sort( + key=lambda c: c.numerical_value + ) straight_cards.arrange_submobjects(RIGHT, buff = SMALL_BUFF) straight_cards.next_to(community_cards, UP, aligned_edge = LEFT) you.hand.target.shift(MED_SMALL_BUFF*UP) diff --git a/mobject/mobject.py b/mobject/mobject.py index 75b36fd8..44cadf8a 100644 --- a/mobject/mobject.py +++ b/mobject/mobject.py @@ -829,10 +829,7 @@ class Mobject(Container): def sort_submobjects(self, point_to_num_func=lambda p: p[0]): self.submobjects.sort( - lambda *mobs: cmp(*[ - point_to_num_func(mob.get_center()) - for mob in mobs - ]) + key=lambda m: point_to_num_func(mob.get_center()) ) return self diff --git a/old_projects/WindingNumber_G.py b/old_projects/WindingNumber_G.py index 817cbcc3..c9ce16ce 100644 --- a/old_projects/WindingNumber_G.py +++ b/old_projects/WindingNumber_G.py @@ -2655,7 +2655,7 @@ class SearchSpacePerimeterVsArea(EquationSolver2d): alt_path_parts = path_parts.copy() size = lambda m : m.get_height() + m.get_width() alt_path_parts.submobjects.sort( - lambda m1, m2 : -cmp(size(m1), size(m2)) + key=lambda m1: -size(m1) ) full_rect = SurroundingRectangle( diff --git a/old_projects/bell.py b/old_projects/bell.py index 69744e93..d7cb1218 100644 --- a/old_projects/bell.py +++ b/old_projects/bell.py @@ -2011,7 +2011,7 @@ class VennDiagramProofByContradiction(Scene): else: rejected.append((x, y)) rejected.sort( - lambda (x1, y1), (x2, y2) : (x2**2 + y2**2) - (x1**2 + y1**2) + kay=lambda (x, y): (x**2 + y**2) ) for i in range(len(photons) - len(pairs)): pairs.append(rejected.pop()) diff --git a/old_projects/borsuk.py b/old_projects/borsuk.py index 05ee2feb..a827831c 100644 --- a/old_projects/borsuk.py +++ b/old_projects/borsuk.py @@ -21,7 +21,9 @@ class Jewel(VMobject): self.set_height(self.height) self.rotate(-np.pi/2-np.pi/24, RIGHT) self.rotate(-np.pi/12, UP) - self.submobjects.sort(lambda m1, m2 : cmp(-m1.get_center()[2], -m2.get_center()[2])) + self.submobjects.sort( + key=lambda m: -m1.get_center()[2] + ) return self class Necklace(VMobject): @@ -210,7 +212,11 @@ class IntroduceStolenNecklaceProblem(ThreeDScene): self.shuffle_jewels(jewels) self.play(FadeOut(self.title)) for jewel_type, label in zip(jewel_types, enumeration_labels): - jewel_type.submobjects.sort(lambda m1, m2: cmp(m1.get_center()[0], m2.get_center()[0])) + jewel_type.submobjects.sort( + key= + y=lambda m: m1.get + ) + ) jewel_type.save_state() jewel_type.generate_target() jewel_type.target.arrange_submobjects() @@ -1298,7 +1304,9 @@ class MakeTwoJewelCaseContinuous(IntroduceStolenNecklaceProblem): enumeration_labels.to_edge(UP) for jewel_type, label in zip(jewel_types, enumeration_labels): - jewel_type.submobjects.sort(lambda m1, m2: cmp(m1.get_center()[0], m2.get_center()[0])) + jewel_type.submobjects.sort( + key=key=lambda mettr()[0] + jewel_type.save_state() jewel_type.generate_target() jewel_type.target.arrange_submobjects() @@ -1352,7 +1360,7 @@ class MakeTwoJewelCaseContinuous(IntroduceStolenNecklaceProblem): self.add(chain, jewels) jewels.submobjects.sort( - lambda m1, m2 : cmp(m1.get_center()[0], m2.get_center()[0]) + key=lambda m: m.get_center()[0] ) remaining_indices = list(range(len(jewels))) remaining_indices.remove(example_index) @@ -1362,7 +1370,7 @@ class MakeTwoJewelCaseContinuous(IntroduceStolenNecklaceProblem): self.remove(chain) segments = VGroup(example_segment[0], *remaining_segments) segments.submobjects.sort( - lambda m1, m2 : cmp(m1.get_center()[0], m2.get_center()[0]) + key=lambda m: m.get_center()[0] ) segment_types = VGroup(*[ VGroup(*[m for m in segments if m.get_color() == Color(color)]) diff --git a/old_projects/div_curl.py b/old_projects/div_curl.py index ce2543fa..7645b7d4 100644 --- a/old_projects/div_curl.py +++ b/old_projects/div_curl.py @@ -2365,7 +2365,7 @@ class IntroduceCurl(IntroduceVectorField): **self.vector_field_config ) vector_field.submobjects.sort( - lambda v1, v2: cmp(v1.get_length(), v2.get_length()) + key=lambda v: v.get_length() ) self.play(LaggedStart(GrowArrow, vector_field)) @@ -2459,8 +2459,8 @@ class ShearCurl(IntroduceCurl): vector_field = self.vector_field = VectorField( self.func, **self.vector_field_config ) - vector_field.submobjects.sort( - lambda a1, a2: cmp(a1.get_length(), a2.get_length()) + vector_field.submobjects.key=sort( + key=lambda a: a.get_length() ) self.play(LaggedStart(GrowArrow, vector_field)) @@ -2951,7 +2951,7 @@ class IllustrateGaussMagnetic(IllustrateGaussLaw): self.func, **self.vector_field_config ) vector_field.submobjects.sort( - lambda a1, a2: -cmp(a1.get_length(), a2.get_length()) + key=lambda a: -a1.get_length() ) self.play(LaggedStart(GrowArrow, vector_field)) self.add_foreground_mobjects( diff --git a/old_projects/eoc/chapter3.py b/old_projects/eoc/chapter3.py index 28861280..57e788e7 100644 --- a/old_projects/eoc/chapter3.py +++ b/old_projects/eoc/chapter3.py @@ -1544,7 +1544,7 @@ class PowerRuleAlgebra(Scene): xs_copy.generate_target() target_list = [dx_copy.target] + list(xs_copy.target) target_list.sort( - lambda m1, m2 : cmp(m1.get_center()[0], m2.get_center()[0]) + key=lambda m: m.get_center()[0] ) dots = TexMobject("+", ".", ".", "\\dots") for dot_index, dot in enumerate(dots): diff --git a/old_projects/eola/chapter2.py b/old_projects/eola/chapter2.py index a8069ac5..ba585cd7 100644 --- a/old_projects/eola/chapter2.py +++ b/old_projects/eola/chapter2.py @@ -649,7 +649,7 @@ class VectorsToDotsScene(VectorScene): run_time = 3 ) ) - vectors.sort(lambda v1, v2 : int(np.sign(v2.get_length() - v1.get_length()))) + vectors.sort(key=lambda v: v.get_length()) self.add(*vectors) def v_to_dot(vector): return Dot(vector.get_end(), fill_color = vector.get_stroke_color()) diff --git a/old_projects/eola/chapter9.py b/old_projects/eola/chapter9.py index 0f0e3ea0..e6d06b6d 100644 --- a/old_projects/eola/chapter9.py +++ b/old_projects/eola/chapter9.py @@ -1616,7 +1616,7 @@ class HowToTranslateAMatrix(Scene): array.top_brace = Brace(VGroup(array, her_vector), UP) for array in cob_matrix, inv_cob: submobs = array.split() - submobs.sort(lambda m1, m2: cmp(m1.get_center()[0], m2.get_center()[0])) + submobs.sort(key=lambda m: m.get_center()[0]) array.submobjects = submobs her_vector.set_color(MAROON_B) cob_matrix.set_color_by_gradient(BLUE, MAROON_B) diff --git a/old_projects/waves.py b/old_projects/waves.py index c67c866d..cb05c5ff 100644 --- a/old_projects/waves.py +++ b/old_projects/waves.py @@ -689,7 +689,7 @@ class IntroduceElectricField(PiCreatureScene): ]) shading_list = list(result) shading_list.sort( - lambda m1, m2 : cmp(m1.get_length(), m2.get_length()) + key=lambda m: m1.get_length() ) VGroup(*shading_list).set_color_by_gradient(*self.vector_field_colors) result.set_fill(opacity = 0.75)