@@ -11,7 +11,7 @@ msgid ""
11
11
msgstr ""
12
12
"Project-Id-Version : Python 3.12\n "
13
13
"Report-Msgid-Bugs-To : \n "
14
- "POT-Creation-Date : 2025-02-21 14:51 +0000\n "
14
+ "POT-Creation-Date : 2025-04-11 14:54 +0000\n "
15
15
"PO-Revision-Date : 2024-05-11 00:33+0000\n "
16
16
"
Last-Translator :
Rafael Fontenelle <[email protected] >, 2025\n "
17
17
"Language-Team : Portuguese (Brazil) (https://app.transifex.com/python-doc/ "
@@ -889,6 +889,9 @@ msgid ""
889
889
"each. When the iterable is exhausted, return elements from the saved copy. "
890
890
"Repeats indefinitely. Roughly equivalent to::"
891
891
msgstr ""
892
+ "Crie um iterador que devolve elementos do *iterable* assim como salva uma "
893
+ "cópia de cada um. Quando o iterável é esgotado, devolve elementos da cópia "
894
+ "salva. Repete indefinidamente. Aproximadamente equivalente a::"
892
895
893
896
#: ../../library/itertools.rst:346
894
897
msgid ""
@@ -908,13 +911,17 @@ msgid ""
908
911
"This itertool may require significant auxiliary storage (depending on the "
909
912
"length of the iterable)."
910
913
msgstr ""
914
+ "Esta itertool pode exigir armazenamento auxiliar significativo (dependendo "
915
+ "do comprimento do iterável)."
911
916
912
917
#: ../../library/itertools.rst:362
913
918
msgid ""
914
919
"Make an iterator that drops elements from the *iterable* while the "
915
920
"*predicate* is true and afterwards returns every element. Roughly "
916
921
"equivalent to::"
917
922
msgstr ""
923
+ "Cria um iterador que remove elementos do *iterable* enquanto o *predicate* "
924
+ "for verdadeiro e, em seguida, retorna todos os elementos. Equivalente a:"
918
925
919
926
#: ../../library/itertools.rst:366
920
927
msgid ""
@@ -930,19 +937,35 @@ msgid ""
930
937
" for x in iterator:\n"
931
938
" yield x"
932
939
msgstr ""
940
+ "def dropwhile(predicate, iterable):\n"
941
+ " # dropwhile(lambda x: x<5, [1,4,6,3,8]) → 6 3 8\n"
942
+ "\n"
943
+ " iterator = iter(iterable)\n"
944
+ " for x in iterator:\n"
945
+ " if not predicate(x):\n"
946
+ " yield x\n"
947
+ " break\n"
948
+ "\n"
949
+ " for x in iterator:\n"
950
+ " yield x"
933
951
934
952
#: ../../library/itertools.rst:378
935
953
msgid ""
936
954
"Note this does not produce *any* output until the predicate first becomes "
937
955
"false, so this itertool may have a lengthy start-up time."
938
956
msgstr ""
957
+ "Observe que isso não produz *nenhuma* saída até que o predicado se torne "
958
+ "falso, portanto, esta itertool pode ter um longo tempo de inicialização."
939
959
940
960
#: ../../library/itertools.rst:384
941
961
msgid ""
942
962
"Make an iterator that filters elements from the *iterable* returning only "
943
963
"those for which the *predicate* returns a false value. If *predicate* is "
944
964
"``None``, returns the items that are false. Roughly equivalent to::"
945
965
msgstr ""
966
+ "Cria um iterador que filtre elementos do *iterable*, retornando apenas "
967
+ "aqueles para os quais o *predicate* retorna um valor falso. Se o *predicate* "
968
+ "for ``None``, retorna os itens que são falsos. Equivalente aproximadamente a:"
946
969
947
970
#: ../../library/itertools.rst:389
948
971
msgid ""
@@ -963,6 +986,11 @@ msgid ""
963
986
"returns the element unchanged. Generally, the iterable needs to already be "
964
987
"sorted on the same key function."
965
988
msgstr ""
989
+ "Cria um iterador que retorna chaves e grupos consecutivos do *iterable*. A "
990
+ "*key* é uma função que calcula um valor-chave para cada elemento. Se não for "
991
+ "especificado ou for ``None``, *key* assume como padrão uma função de "
992
+ "identidade e retorna o elemento inalterado. Geralmente, o iterável precisa "
993
+ "já estar ordenado na mesma função chave."
966
994
967
995
#: ../../library/itertools.rst:406
968
996
msgid ""
@@ -972,6 +1000,11 @@ msgid ""
972
1000
"the same key function). That behavior differs from SQL's GROUP BY which "
973
1001
"aggregates common elements regardless of their input order."
974
1002
msgstr ""
1003
+ "O funcionamento de :func:`groupby` é semelhante ao filtro ``uniq`` no Unix. "
1004
+ "Ele gera uma quebra ou um novo grupo sempre que o valor da função da tecla "
1005
+ "muda (razão pela qual geralmente é necessário ordenar os dados usando a "
1006
+ "mesma função da tecla). Esse comportamento difere do GROUP BY do SQL, que "
1007
+ "agrega elementos comuns independentemente da ordem de entrada."
975
1008
976
1009
#: ../../library/itertools.rst:412
977
1010
msgid ""
@@ -980,6 +1013,11 @@ msgid ""
980
1013
"`groupby` object is advanced, the previous group is no longer visible. So, "
981
1014
"if that data is needed later, it should be stored as a list::"
982
1015
msgstr ""
1016
+ "O grupo retornado é, ele próprio, um iterador que compartilha o iterável "
1017
+ "subjacente com :func:`groupby`. Como a origem é compartilhada, quando o "
1018
+ "objeto :func:`groupby` avança, o grupo anterior não fica mais visível. "
1019
+ "Portanto, se esses dados forem necessários posteriormente, eles devem ser "
1020
+ "armazenados como uma lista:"
983
1021
984
1022
#: ../../library/itertools.rst:417
985
1023
msgid ""
@@ -990,6 +1028,13 @@ msgid ""
990
1028
" groups.append(list(g)) # Store group iterator as a list\n"
991
1029
" uniquekeys.append(k)"
992
1030
msgstr ""
1031
+ "groups = []\n"
1032
+ "uniquekeys = []\n"
1033
+ "data = sorted(data, key=keyfunc)\n"
1034
+ "for k, g in groupby(data, keyfunc):\n"
1035
+ " groups.append(list(g)) # armazena um iterador de grupo como uma "
1036
+ "lista\n"
1037
+ " uniquekeys.append(k)"
993
1038
994
1039
#: ../../library/itertools.rst:424
995
1040
msgid ":func:`groupby` is roughly equivalent to::"
@@ -1029,19 +1074,55 @@ msgid ""
1029
1074
" for _ in curr_group:\n"
1030
1075
" pass"
1031
1076
msgstr ""
1077
+ "def groupby(iterable, key=None):\n"
1078
+ " # [k for k, g in groupby('AAAABBBCCDAABBB')] → A B C D A B\n"
1079
+ " # [list(g) for k, g in groupby('AAAABBBCCD')] → AAAA BBB CC D\n"
1080
+ "\n"
1081
+ " keyfunc = (lambda x: x) if key is None else key\n"
1082
+ " iterator = iter(iterable)\n"
1083
+ " exhausted = False\n"
1084
+ "\n"
1085
+ " def _grouper(target_key):\n"
1086
+ " nonlocal curr_value, curr_key, exhausted\n"
1087
+ " yield curr_value\n"
1088
+ " for curr_value in iterator:\n"
1089
+ " curr_key = keyfunc(curr_value)\n"
1090
+ " if curr_key != target_key:\n"
1091
+ " return\n"
1092
+ " yield curr_value\n"
1093
+ " exhausted = True\n"
1094
+ "\n"
1095
+ " try:\n"
1096
+ " curr_value = next(iterator)\n"
1097
+ " except StopIteration:\n"
1098
+ " return\n"
1099
+ " curr_key = keyfunc(curr_value)\n"
1100
+ "\n"
1101
+ " while not exhausted:\n"
1102
+ " target_key = curr_key\n"
1103
+ " curr_group = _grouper(target_key)\n"
1104
+ " yield curr_key, curr_group\n"
1105
+ " if curr_key == target_key:\n"
1106
+ " for _ in curr_group:\n"
1107
+ " pass"
1032
1108
1033
1109
#: ../../library/itertools.rst:462
1034
1110
msgid ""
1035
1111
"Make an iterator that returns selected elements from the iterable. Works "
1036
1112
"like sequence slicing but does not support negative values for *start*, "
1037
1113
"*stop*, or *step*."
1038
1114
msgstr ""
1115
+ "Cria um iterador que retorna os elementos selecionados do iterável. Funciona "
1116
+ "como o fatiamento de sequência, mas não oferece suporte a valores negativos "
1117
+ "para *start*, *stop* ou *step*."
1039
1118
1040
1119
#: ../../library/itertools.rst:466
1041
1120
msgid ""
1042
1121
"If *start* is zero or ``None``, iteration starts at zero. Otherwise, "
1043
1122
"elements from the iterable are skipped until *start* is reached."
1044
1123
msgstr ""
1124
+ "Se *start* for zero ou ``None``, a iteração começa em zero. Caso contrário, "
1125
+ "os elementos do iterável são pulados até que *start* seja alcançado."
1045
1126
1046
1127
#: ../../library/itertools.rst:469
1047
1128
msgid ""
@@ -1055,6 +1136,9 @@ msgid ""
1055
1136
"consecutively unless *step* is set higher than one which results in items "
1056
1137
"being skipped."
1057
1138
msgstr ""
1139
+ "Se *step* for ``None``, o padrão do passo é 1. Os elementos são retornados "
1140
+ "consecutivamente, a menos que *step* seja definido como maior que um, o que "
1141
+ "resulta na omissão de itens."
1058
1142
1059
1143
#: ../../library/itertools.rst:478
1060
1144
msgid ""
@@ -1078,6 +1162,25 @@ msgid ""
1078
1162
" yield element\n"
1079
1163
" next_i += step"
1080
1164
msgstr ""
1165
+ "def islice(iterable, *args):\n"
1166
+ " # islice('ABCDEFG', 2) → A B\n"
1167
+ " # islice('ABCDEFG', 2, 4) → C D\n"
1168
+ " # islice('ABCDEFG', 2, None) → C D E F G\n"
1169
+ " # islice('ABCDEFG', 0, None, 2) → A C E G\n"
1170
+ "\n"
1171
+ " s = slice(*args)\n"
1172
+ " start = 0 if s.start is None else s.start\n"
1173
+ " stop = s.stop\n"
1174
+ " step = 1 if s.step is None else s.step\n"
1175
+ " if start < 0 or (stop is not None and stop < 0) or step <= 0:\n"
1176
+ " raise ValueError\n"
1177
+ "\n"
1178
+ " indices = count() if stop is None else range(max(start, stop))\n"
1179
+ " next_i = start\n"
1180
+ " for i, element in zip(indices, iterable):\n"
1181
+ " if i == next_i:\n"
1182
+ " yield element\n"
1183
+ " next_i += step"
1081
1184
1082
1185
#: ../../library/itertools.rst:501
1083
1186
msgid "Return successive overlapping pairs taken from the input *iterable*."
0 commit comments