@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version : Python 3.12\n "
1313"Report-Msgid-Bugs-To : \n "
14- "POT-Creation-Date : 2024-09-20 14:57 +0000\n "
14+ "POT-Creation-Date : 2024-10-11 14:48 +0000\n "
1515"PO-Revision-Date : 2024-05-11 00:32+0000\n "
1616"
Last-Translator :
Rafael Fontenelle <[email protected] >, 2024\n "
1717"Language-Team : Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n "
@@ -154,7 +154,7 @@ msgstr ""
154154"... ('jane', 'B', 12),\n"
155155"... ('dave', 'B', 10),\n"
156156"... ]\n"
157- ">>> sorted(student_tuples, key=lambda student: student[2]) # sort by age \n"
157+ ">>> sorted(student_tuples, key=lambda student: student[2]) # 按年龄排序 \n"
158158"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
159159
160160#: ../../howto/sorting.rst:79
@@ -286,6 +286,16 @@ msgid ""
286286">>> sorted(names, key=partial(normalize, 'NFC'))\n"
287287"['Abe', 'Eloise', 'Nubia', 'Núñez', 'Zeke', 'Zoë', 'Åbjørn', 'Élana']"
288288msgstr ""
289+ ">>> from functools import partial\n"
290+ ">>> from unicodedata import normalize\n"
291+ "\n"
292+ ">>> names = 'Zoë Åbjørn Núñez Élana Zeke Abe Nubia Eloise'.split()\n"
293+ "\n"
294+ ">>> sorted(names, key=partial(normalize, 'NFD'))\n"
295+ "['Abe', 'Åbjørn', 'Eloise', 'Élana', 'Nubia', 'Núñez', 'Zeke', 'Zoë']\n"
296+ "\n"
297+ ">>> sorted(names, key=partial(normalize, 'NFC'))\n"
298+ "['Abe', 'Eloise', 'Nubia', 'Núñez', 'Zeke', 'Zoë', 'Åbjørn', 'Élana']"
289299
290300#: ../../howto/sorting.rst:153
291301msgid "Ascending and Descending"
@@ -308,6 +318,11 @@ msgid ""
308318">>> sorted(student_objects, key=attrgetter('age'), reverse=True)\n"
309319"[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]"
310320msgstr ""
321+ ">>> sorted(student_tuples, key=itemgetter(2), reverse=True)\n"
322+ "[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]\n"
323+ "\n"
324+ ">>> sorted(student_objects, key=attrgetter('age'), reverse=True)\n"
325+ "[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]"
311326
312327#: ../../howto/sorting.rst:168
313328msgid "Sort Stability and Complex Sorts"
@@ -329,6 +344,9 @@ msgid ""
329344">>> sorted(data, key=itemgetter(0))\n"
330345"[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]"
331346msgstr ""
347+ ">>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]\n"
348+ ">>> sorted(data, key=itemgetter(0))\n"
349+ "[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]"
332350
333351#: ../../howto/sorting.rst:180
334352msgid ""
@@ -351,6 +369,9 @@ msgid ""
351369">>> sorted(s, key=attrgetter('grade'), reverse=True) # now sort on primary key, descending\n"
352370"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
353371msgstr ""
372+ ">>> s = sorted(student_objects, key=attrgetter('age')) # 现在根据主要键(成绩)降序排序\n"
373+ ">>> sorted(s, key=attrgetter('grade'), reverse=True) # 根据次要键(年龄)排序\n"
374+ "[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)"
354375
355376#: ../../howto/sorting.rst:193
356377msgid ""
@@ -368,6 +389,13 @@ msgid ""
368389">>> multisort(list(student_objects), (('grade', True), ('age', False)))\n"
369390"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
370391msgstr ""
392+ ">>> def multisort(xs, specs):\n"
393+ "... for key, reverse in reversed(specs):\n"
394+ "... xs.sort(key=attrgetter(key), reverse=reverse)\n"
395+ "... return xs\n"
396+ "\n"
397+ ">>> multisort(list(student_objects), (('grade', True), ('age', False)))\n"
398+ "[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
371399
372400#: ../../howto/sorting.rst:206
373401msgid ""
@@ -414,6 +442,10 @@ msgid ""
414442">>> [student for grade, i, student in decorated] # undecorate\n"
415443"[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]"
416444msgstr ""
445+ ">>> decorated = [(student.grade, i, student) for i, student in enumerate(student_objects)]\n"
446+ ">>> decorated.sort()\n"
447+ ">>> [student for grade, i, student in decorated] # 取消装饰\n"
448+ "[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]"
417449
418450#: ../../howto/sorting.rst:231
419451msgid ""
@@ -501,7 +533,7 @@ msgstr ""
501533
502534#: ../../howto/sorting.rst:273
503535msgid "sorted(words, key=cmp_to_key(strcoll)) # locale-aware sort order"
504- msgstr ""
536+ msgstr "sorted(words, key=cmp_to_key(strcoll)) # 基于地区的排序规则 "
505537
506538#: ../../howto/sorting.rst:276
507539msgid "Odds and Ends"
@@ -536,6 +568,12 @@ msgid ""
536568">>> standard_way\n"
537569"[('red', 1), ('red', 2), ('blue', 1), ('blue', 2)]"
538570msgstr ""
571+ ">>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]\n"
572+ ">>> standard_way = sorted(data, key=itemgetter(0), reverse=True)\n"
573+ ">>> double_reversed = list(reversed(sorted(reversed(data), key=itemgetter(0))))\n"
574+ ">>> assert standard_way == double_reversed\n"
575+ ">>> standard_way\n"
576+ "[('red', 1), ('red', 2), ('blue', 1), ('blue', 2)]"
539577
540578#: ../../howto/sorting.rst:297
541579msgid ""
@@ -552,6 +590,9 @@ msgid ""
552590">>> sorted(student_objects)\n"
553591"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
554592msgstr ""
593+ ">>> Student.__lt__ = lambda self, other: self.age < other.age\n"
594+ ">>> sorted(student_objects)\n"
595+ "[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]"
555596
556597#: ../../howto/sorting.rst:307
557598msgid ""
@@ -581,6 +622,10 @@ msgid ""
581622">>> sorted(students, key=newgrades.__getitem__)\n"
582623"['jane', 'dave', 'john']"
583624msgstr ""
625+ ">>> students = ['dave', 'john', 'jane']\n"
626+ ">>> newgrades = {'john': 'F', 'jane':'A', 'dave': 'C'}\n"
627+ ">>> sorted(students, key=newgrades.__getitem__)\n"
628+ "['jane', 'dave', 'john']"
584629
585630#: ../../howto/sorting.rst:327
586631msgid "Partial Sorts"
0 commit comments