@@ -29,7 +29,7 @@ desde a conhecida `list` até os tipos `str` e `bytes`, adicionados no Python 3.
2929Tópicos específicos sobre listas, tuplas, arrays e filas também foram incluídos,
3030mas os detalhes sobre strings Unicode e sequências de bytes são tratados no <<ch_str_bytes>>.
3131Além disso, a ideia aqui é falar sobre os tipos de sequências prontas para usar.
32- A criação de novos tipos de sequência é o tema do <<ch_seq_methods>> .
32+ A criação de novos tipos de sequência é o tema do Capítulo 12 [vol.2, fpy.li/4t] .
3333
3434Os((("sequences", "topics covered"))) principais tópicos cobertos neste capítulo são:
3535
@@ -118,7 +118,7 @@ A <<sequence_uml>> ajuda a visualizar como as sequências mutáveis herdam todos
118118das sequências imutáveis e implementam vários métodos adicionais.
119119Os tipos embutidos de sequências na verdade não são subclasses das classes base abstratas (ABCs)
120120`Sequence` e `MutableSequence`, mas sim _subclasses virtuais_ registradas com aquelas
121- ABCs—como veremos no <<ch_ifaces_prot_abc>> .
121+ ABCs—como veremos no Capítulo 13 [vol.2, fpy.li/4q] .
122122Por serem subclasses virtuais, `tuple` e `list` passam nesses testes:
123123
124124[source, python]
@@ -448,7 +448,7 @@ nunca é criada neste exemplo.
448448
449449[NOTE]
450450====
451- O <<ch_generators>> explica em detalhes o funcionamento de geradoras.
451+ O Capítulo 17 [vol.3, fpy.li/4s] explica em detalhes o funcionamento de geradoras.
452452A ideia aqui é apenas mostrar o uso de expressões geradores para inicializar sequências diferentes de listas,
453453ou produzir uma saída que não precise ser mantida na memória.
454454====
@@ -662,7 +662,7 @@ Entretanto, `reversed(my_tuple)` funciona sem esse método; ele serve apenas par
662662| `+s.__len__()+` | ● | ● | `+len(s)+`—número de itens
663663| `+s.__mul__(n)+` | ● | ● | `+s * n+`—concatenação repetida
664664| `+s.__imul__(n)+` | ● | | `+s *= n+`—concatenação repetida no mesmo lugar
665- | `+s.__rmul__(n)+` | ● | ● | `+n * s+`—concatenação repetida inversafootnote:[Operadores invertidos são explicados no <<ch_op_overload>> .]
665+ | `+s.__rmul__(n)+` | ● | ● | `+n * s+`—concatenação repetida inversafootnote:[Operadores invertidos são explicados no Capítulo 16 [vol.2, fpy.li/4r] .]
666666| `s.pop([p])` | ● | | Remove e devolve o último item ou o item na posição opcional `p`
667667| `s.remove(e)` | ● | | Remove o primeiro elemento de valor igual a `e`
668668| `s.reverse()` | ● | | Reverte, no lugar, a ordem dos itens
@@ -893,7 +893,7 @@ Você pode querer ler aquela revisão rápida.
893893Neste livro, dividi o tratamento do casamento de padrões em diferentes capítulos,
894894dependendo dos tipos de padrão:
895895na <<pattern_matching_mappings_sec>> e na <<pattern_instances_sec>>.
896- E há um exemplo mais longo na <<pattern_matching_case_study_sec>> .
896+ E há um exemplo mais longo na Seção 18.3 [vol.3, fpy.li/22] .
897897====
898898
899899Vamos ao primeiro exemplo do tratamento de sequências com `match/case`.
@@ -1146,7 +1146,7 @@ O corpo da função é a expressão `(* n 2)`.
11461146O resultado da chamada a uma função em Scheme é o valor da última expressão no corpo da função chamada.
11471147
11481148Nosso foco aqui é a desestruturação de sequências, então não vou explicar as ações do avaliador.
1149- Veja a <<pattern_matching_case_study_sec>> para aprender mais sobre o funcionamento do _lis.py_.
1149+ Veja a Seção 18.3 [vol.3, fpy.li/22] para aprender mais sobre o funcionamento do _lis.py_.
11501150
11511151O <<ex_norvigs_eval>> mostra o avaliador de Norvig com algumas pequenas modificações,
11521152abreviado para mostrar apenas os padrões de sequência.
@@ -1299,7 +1299,7 @@ tenha convencido você que `match/case` pode tornar seu código mais legível e
12991299
13001300[NOTE]
13011301====
1302- Veremos mais do _lis.py_ na <<pattern_matching_case_study_sec>> ,
1302+ Veremos mais do _lis.py_ na Seção 18.3 [vol.3, fpy.li/22] ,
13031303quando vamos revisar o exemplo completo de `match/case` em `evaluate`.
13041304Se você quiser aprender mais sobre o _lys.py_ de Norvig, leia seu maravilhoso post
13051305https://fpy.li/2-12["(How to Write a (Lisp) Interpreter (in Python))" _(Como Escrever um Interpretador (Lisp) em (Python))_].
@@ -1320,9 +1320,9 @@ recurso comum a `list`, `tuple`, `str`, e a todos os tipos de sequência em Pyth
13201320é o suporte a operações de fatiamento, que são mais potentes do que a maioria das pessoas percebe.
13211321
13221322Nesta seção descrevemos o _uso_ dessas formas avançadas de fatiamento.
1323- Sua implementação em uma classe definida pelo usuário será tratada no <<ch_seq_methods>> ,
1323+ Sua implementação em uma classe definida pelo usuário será tratada no Capítulo 12 [vol.2, fpy.li/4t] ,
13241324mantendo nossa filosofia de tratar de classes prontas para usar nessa parte do livro,
1325- e da criação de novas classes na <<classes_protocols_part>> .
1325+ e da criação de novas classes na Parte III—Classes e protocolos [vol.2, fpy.li/4v] .
13261326
13271327
13281328==== Por que fatias e faixas excluem o último item?
@@ -1383,7 +1383,7 @@ Card(rank='A', suit='clubs'), Card(rank='A', suit='hearts')]
13831383A notação `a:b:c` só é válida entre `[]` quando usada como operador de indexação ou de subscrição (_subscript_),
13841384e produz um objeto fatia (_slice object_): `slice(a, b, c)`.
13851385Para avaliar a expressão `seq[start:stop:step]`,
1386- o Python chama `+seq.__getitem__(slice(start, stop, step))+`, como veremos na <<how_slicing_works_sec>> .
1386+ o Python chama `+seq.__getitem__(slice(start, stop, step))+`, como veremos na Seção 12.5.1 [vol.2, fpy.li/4w] .
13871387Mesmo se você não for implementar seus próprios tipos de sequência, saber dos objetos fatia é útil,
13881388porque eles permitem que você atribua nomes às fatias, da mesma forma que planilhas permitem dar nomes a faixas de células.
13891389
@@ -1419,7 +1419,7 @@ Veja como isso torna legível o loop `for` no final do exemplo.
14191419----
14201420====
14211421
1422- Voltaremos aos objetos +slice+ quando formos discutir a criação de suas próprias coleções, na <<sliceable_sequence_sec>> .
1422+ Voltaremos aos objetos +slice+ quando formos discutir a criação de suas próprias coleções, na Seção 12.5 [vol.2, fpy.li/4x] .
14231423Enquanto isso, do ponto de vista do usuário, o fatiamento tem recursos adicionais,
14241424como fatias multidimensionais e a notação de reticências (`\...`).
14251425Siga comigo.
@@ -1651,7 +1651,7 @@ que `+=` acontece _in-place_.
16511651Para sequências imutáveis, obviamente isso não pode acontecer.
16521652
16531653O que acabei de escrever sobre `+=` também se aplica a `\*=`, que é implementado via `++__imul__++`.
1654- Os métodos especiais `++__iadd__++` e `++__imul__++` são tratados no <<ch_op_overload>> .
1654+ Os métodos especiais `++__iadd__++` e `++__imul__++` são tratados no Capítulo 16 [vol.2, fpy.li/4r] .
16551655
16561656Veja uma demonstração de `*=` com uma sequência mutável e depois com uma sequência imutável:
16571657
@@ -1822,7 +1822,7 @@ da Wikipedia em inglês para uma descrição mais detalhada deste tópico.
18221822====
18231823
18241824A função embutida `sorted`, por outro lado, cria e devolve uma nova lista.
1825- Ela aceita qualquer objeto iterável como um argumento, incluindo sequências imutáveis e geradores (veja o <<ch_generators>> ).
1825+ Ela aceita qualquer objeto iterável como um argumento, incluindo sequências imutáveis e geradores (veja o Capítulo 17 [vol.3, fpy.li/4s] ).
18261826Independente do tipo do iterável passado a `sorted`, ela sempre cria e devolve uma nova lista.
18271827
18281828Tanto `list.sort` quanto `sorted` podem receber dois argumentos nomeados opcionais:
@@ -2035,7 +2035,7 @@ comparando as características de `list` e `array.array`.
20352035| `+s.__len__()+` | ● | ● | `++len(s)++`—número de itens
20362036| `+s.__mul__(n)+` | ● | ● | `++s * n++`—concatenação repetida
20372037| `+s.__imul__(n)+` | ● | ● | `++s *= n++`—concatenação repetida no mesmo lugar
2038- | `+s.__rmul__(n)+` | ● | ● | ++n * s++—concatenação repetida invertidafootnote:[Operadores invertidos são explicados no <<ch_op_overload>> .]
2038+ | `+s.__rmul__(n)+` | ● | ● | ++n * s++—concatenação repetida invertidafootnote:[Operadores invertidos são explicados no Capítulo 16 [vol.2, fpy.li/4r] .]
20392039| `s.pop([p])` | ● | ● | Remove e devolve o item na posição `p` (default: o último)
20402040| `s.remove(e)` | ● | | Remove o primeiro elemento de valor igual a `e`
20412041| `s.reverse()` | ● | ● | Reverte a ordem dos itens no mesmo lugar
@@ -2374,7 +2374,7 @@ então `deque` pode ser usado de forma segura como uma fila FIFO em aplicações
23742374| `+s.__len__()+` | ● | ● | `++len(s)++`—número de itens
23752375| `+s.__mul__(n)+` | ● | | `++s * n++`—concatenação repetida
23762376| `+s.__imul__(n)+` | ● | | `++s *= n++`—concatenação repetida no mesmo lugar
2377- | `+s.__rmul__(n)+` | ● | | `++n * s`++—concatenação repetida invertidafootnote:[Operadores invertidos são explicados no <<ch_op_overload>> .]
2377+ | `+s.__rmul__(n)+` | ● | | `++n * s`++—concatenação repetida invertidafootnote:[Operadores invertidos são explicados no Capítulo 16 [vol.2, fpy.li/4r] .]
23782378| `s.pop()` | ● | ● | Remove e devolve último itemfootnote:[`a_list.pop(p)` permite remover da posição `p`, mas `deque` não suporta essa opção.]
23792379| `s.popleft()` | | ● | Remove e devolve primeiro item
23802380| `s.remove(e)` | ● | | Remove o primeiro elemento de valor igual a `e`
0 commit comments