@@ -210,11 +210,11 @@ msgstr "注意,循环结束后,创建(或重写)的名为 ``x`` 的变
210210
211211#: ../../tutorial/datastructures.rst:219
212212msgid "or, equivalently::"
213- msgstr "或者,等价于 :: "
213+ msgstr "或等价于: "
214214
215215#: ../../tutorial/datastructures.rst:223
216216msgid "which is more concise and readable."
217- msgstr "上面这种写法更加简洁易读 。"
217+ msgstr "上面这种写法更简洁、易读 。"
218218
219219#: ../../tutorial/datastructures.rst:225
220220msgid ""
@@ -225,30 +225,30 @@ msgid ""
225225":keyword:`!if` clauses which follow it. For example, this listcomp combines "
226226"the elements of two lists if they are not equal::"
227227msgstr ""
228- "列表推导式的结构是由一对方括号所包含的以下内容 :一个表达式,后面跟一个 :keyword:`!for` 子句,然后是零个或多个 "
229- ":keyword:`!for` 或 :keyword:`!if` 子句。 其结果将是一个新列表,由对表达式依据后面的 :keyword:`!for` 和 "
230- " :keyword:`!if` 子句的内容进行求值计算而得出。 举例来说,以下列表推导式会将两个列表中不相等的元素组合起来:: "
228+ "列表推导式的方括号内包含以下内容 :一个表达式,后面跟一个 :keyword:`!for` 子句,然后,是零个或多个 :keyword:`!for` 或 "
229+ ":keyword:`!if` 子句。结果是新的列表,由对表达式依据后面的 :keyword:`!for` 和 :keyword:`!if` "
230+ "子句的内容进行求值计算而得出。 举例来说,以下列表推导式将两个列表中不相等的元素组合起来: "
231231
232232#: ../../tutorial/datastructures.rst:235
233233msgid "and it's equivalent to::"
234- msgstr "而它等价于 :: "
234+ msgstr "等价于: "
235235
236236#: ../../tutorial/datastructures.rst:246
237237msgid ""
238238"Note how the order of the :keyword:`for` and :keyword:`if` statements is the"
239239" same in both these snippets."
240- msgstr "注意在上面两个代码片段中, :keyword:`for` 和 :keyword:`if` 的顺序是相同的 。"
240+ msgstr "注意,上面两段代码中, :keyword:`for` 和 :keyword:`if` 的顺序相同 。"
241241
242242#: ../../tutorial/datastructures.rst:249
243243msgid ""
244244"If the expression is a tuple (e.g. the ``(x, y)`` in the previous example), "
245245"it must be parenthesized. ::"
246- msgstr "如果表达式是一个元组(例如上面的 ``(x, y)``),那么就必须加上括号 :: "
246+ msgstr "表达式是元组(例如上例的 ``(x, y)``)时,必须加上括号: "
247247
248248#: ../../tutorial/datastructures.rst:280
249249msgid ""
250250"List comprehensions can contain complex expressions and nested functions::"
251- msgstr "列表推导式可以使用复杂的表达式和嵌套函数 :: "
251+ msgstr "列表推导式可以使用复杂的表达式和嵌套函数: "
252252
253253#: ../../tutorial/datastructures.rst:287
254254msgid "Nested List Comprehensions"
@@ -264,29 +264,29 @@ msgstr "列表推导式中的初始表达式可以是任何表达式,包括另
264264msgid ""
265265"Consider the following example of a 3x4 matrix implemented as a list of 3 "
266266"lists of length 4::"
267- msgstr "考虑下面这个 3x4的矩阵,它由3个长度为4的列表组成 :: "
267+ msgstr "下面这个 3x4 矩阵,由 3 个长度为 4 的列表组成: "
268268
269269#: ../../tutorial/datastructures.rst:301
270270msgid "The following list comprehension will transpose rows and columns::"
271- msgstr "下面的列表推导式将交换其行和列 :: "
271+ msgstr "下面的列表推导式可以转置行列: "
272272
273273#: ../../tutorial/datastructures.rst:306
274274msgid ""
275275"As we saw in the previous section, the nested listcomp is evaluated in the "
276276"context of the :keyword:`for` that follows it, so this example is equivalent"
277277" to::"
278- msgstr "如上节所示,嵌套的列表推导式是基于跟随其后的 :keyword:`for` 进行求值的,所以这个例子等价于:: "
278+ msgstr "如上节所示,嵌套的列表推导式是基于跟随其后的 :keyword:`for` 进行求值的,所以这个例子等价于: "
279279
280280#: ../../tutorial/datastructures.rst:317
281281msgid "which, in turn, is the same as::"
282- msgstr "反过来说,也等价于 :: "
282+ msgstr "反过来说,也等价于: "
283283
284284#: ../../tutorial/datastructures.rst:330
285285msgid ""
286286"In the real world, you should prefer built-in functions to complex flow "
287287"statements. The :func:`zip` function would do a great job for this use "
288288"case::"
289- msgstr "实际应用中,你应该会更喜欢使用内置函数去组成复杂的流程语句。 :func:`zip` 函数将会很好地处理这种情况 :: "
289+ msgstr "实际应用中,最好用内置函数替代复杂的流程语句。此时, :func:`zip` 函数更好用: "
290290
291291#: ../../tutorial/datastructures.rst:336
292292msgid ""
@@ -305,18 +305,18 @@ msgid ""
305305"used to remove slices from a list or clear the entire list (which we did "
306306"earlier by assignment of an empty list to the slice). For example::"
307307msgstr ""
308- "有一种方式可以从列表按照给定的索引而不是值来移除一个元素: 那就是 : keyword:`del` 语句。 它不同于会返回一个值的 :meth:`pop`"
309- " 方法。 :keyword:`!del` 语句也可以用来从列表中移除切片或者清空整个列表(我们之前用过的方式是将一个空列表赋值给指定的切片 )。 例如:: "
308+ ": keyword:`del` 语句按索引,而不是值从列表中移除元素。与返回值的 :meth:`pop` 方法不同, :keyword:`!del` "
309+ "语句也可以从列表中移除切片,或清空整个列表(之前是将空列表赋值给切片 )。 例如: "
310310
311311#: ../../tutorial/datastructures.rst:360
312312msgid ":keyword:`del` can also be used to delete entire variables::"
313- msgstr ":keyword:`del` 也可以被用来删除整个变量 :: "
313+ msgstr ":keyword:`del` 也可以用来删除整个变量: "
314314
315315#: ../../tutorial/datastructures.rst:364
316316msgid ""
317317"Referencing the name ``a`` hereafter is an error (at least until another "
318318"value is assigned to it). We'll find other uses for :keyword:`del` later."
319- msgstr "此后再引用 ``a`` 时会报错(直到另一个值被赋给它)。我们会在后面了解到 :keyword:`del` 的其他用法。"
319+ msgstr "此后,再引用 ``a`` 就会报错(直到赋给它另一个值)。后文会介绍 :keyword:`del` 的其他用法。"
320320
321321#: ../../tutorial/datastructures.rst:371
322322msgid "Tuples and Sequences"
@@ -336,7 +336,7 @@ msgstr ""
336336#: ../../tutorial/datastructures.rst:379
337337msgid ""
338338"A tuple consists of a number of values separated by commas, for instance::"
339- msgstr "一个元组由几个被逗号隔开的值组成 ,例如 :: "
339+ msgstr "元组由多个被逗号隔开的值组成 ,例如: "
340340
341341#: ../../tutorial/datastructures.rst:401
342342msgid ""
@@ -347,7 +347,7 @@ msgid ""
347347" the individual items of a tuple, however it is possible to create tuples "
348348"which contain mutable objects, such as lists."
349349msgstr ""
350- "如你所见,元组在输出时总是被圆括号包围的,以便正确表示嵌套元组。输入时圆括号可有可无,不过经常会是必须的(如果这个元组是一个更大的表达式的一部分)。给元组中的一个单独的元素赋值是不允许的,当然你可以创建包含可变对象的元组,例如列表 。"
350+ "元组在输出时总被圆括号包围,以便能正确地解释嵌套元组。输入时,圆括号可有可无,不过经常是必须的(如果元组是更大的表达式的一部分)。不允许为元组中的单个元素赋值,当然,可以创建含列表等可变对象的元组 。"
351351
352352#: ../../tutorial/datastructures.rst:408
353353msgid ""
@@ -359,10 +359,10 @@ msgid ""
359359":term:`mutable`, and their elements are usually homogeneous and are accessed"
360360" by iterating over the list."
361361msgstr ""
362- "虽然元组可能看起来与列表很像,但它们通常是在不同的场景被使用,并且有着不同的用途 。元组是 :term:`immutable` "
363- "(不可变的),其序列通常包含不同种类的元素 ,并且通过解包(这一节下面会解释)或者索引来访问 (如果是 :func:`namedtuples "
364- "<collections.namedtuple>` 的话甚至还可以通过属性访问 )。列表是 :term:`mutable` "
365- "(可变的),并且列表中的元素一般是同种类型的,并且通过迭代访问 。"
362+ "虽然,元组与列表很像,但它们使用的场景不同,用途也不同 。元组是 :term:`immutable` "
363+ "(不可变的),序列通常包含不同种类的元素 ,并且通过解包(见本节下文)或索引访问 (如果是 :func:`namedtuples "
364+ "<collections.namedtuple>` 的话,还可以通过属性访问 )。列表是 :term:`mutable` "
365+ "(可变的),列表元素一般是同类型的,并可通过迭代访问 。"
366366
367367#: ../../tutorial/datastructures.rst:416
368368msgid ""
@@ -372,8 +372,8 @@ msgid ""
372372"constructed by following a value with a comma (it is not sufficient to "
373373"enclose a single value in parentheses). Ugly, but effective. For example::"
374374msgstr ""
375- "一个特殊的问题是构造包含0个或1个元素的元组:为了适应这种情况,语法有一些额外的改变。空元组可以直接被一对空圆括号创建,含有一个元素的元组可以通过在这个元素后添加一个逗号来构建(圆括号里只有一个值的话不够明确)。丑陋,但是有效。例如 "
376- " :: "
375+ "构造 0 个或 1 "
376+ "个元素的元组比较特殊:为了适应这种情况,对句法有一些额外的改变。用一对空圆括号就可以创建空元组;只有一个元素的元组可以通过在这个元素后添加逗号来构建(圆括号里只有一个值的话不够明确)。丑陋,但是有效。例如: "
377377
378378#: ../../tutorial/datastructures.rst:431
379379msgid ""
@@ -613,7 +613,7 @@ msgstr ""
613613msgid ""
614614"It is possible to assign the result of a comparison or other Boolean "
615615"expression to a variable. For example, ::"
616- msgstr "也可以把比较操作或者逻辑表达式的结果赋值给一个变量 ,例如 :: "
616+ msgstr "也可以把比较操作或逻辑表达式的结果赋值给一个变量 ,例如: "
617617
618618#: ../../tutorial/datastructures.rst:693
619619msgid ""
0 commit comments