minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Índice
Capítulo 6 Objetos String e Operações de Fatiamento
6.2 Métodos comumente usados em caracteres
String: uma string que consiste em vários caracteres
Caracteres: símbolos visíveis a olho nu
Bytes: invisíveis a olho nu
Como python define strings:
aspas simples aspas duplas aspas triplas str()
>>> dir(s) ['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
capitalizar ------- Coloque a primeira letra da string em maiúscula
>>> s 'this is a string' >>> s.capitalize() 'This is a string'
center(width, fillchar=' ') ------ Centralize a string de acordo com o comprimento fornecido e alinhe-a no centro
apenas --------- alinhado à direita
apenas ------ alinhamento à esquerda
>>> help(s.center) Help on built-in function center: center(width, fillchar=' ', /) method of builtins.str instance Return a centered string of length width. Padding is done using the specified fill character (default is a space). >>> s.center(40) ' this is a string ' >>> s.center(40,"*") '************this is a string************' >>> s.rjust(40) ' this is a string' >>> s.ljust(40) 'this is a string ' >>> s.ljust(40,"*") 'this is a string************************' >>> s.rjust(40,"*") '************************this is a string'
contagem --------- conta o número de vezes que um caractere aparece em uma string
>>> s 'this is a string' >>> s.count("s") 3 >>> s.count("is") 2
termina com ------- Determine se a string termina com XXX
começa com ------- Determine se a string começa com XXX
>>> s.endswith("g") True >>> s.endswith("ing") True >>> s.endswith("f") False >>> s.startswith("t") True >>> s.startswith("f") False
índice ------ A posição onde o caractere ou string pesquisado aparece pela primeira vez na string. Se não existir, uma exceção (relatório de erro) será lançada.
rindex ------- Pesquise da direita para a esquerda, a posição onde o caractere ou string que está sendo pesquisado aparece primeiro na string (equivalente à última ocorrência do caractere ou string pesquisando da esquerda para a direita na string) localização ), se não existir, lança uma exceção (relata um erro)
>>> s 'this is a string' >>> s.index("s") 3 >>> s.index("is") 2 >>> s.index("f") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> s.index(" ") 4 >>> s.rindex("s") 10 >>> s.rindex("f") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found
find ------- A posição da primeira ocorrência do caractere ou string que está sendo pesquisado na string. Se não existir, -1 será retornado.
rfind----- Pesquise da direita para a esquerda, a posição da primeira ocorrência do caractere ou string que está sendo pesquisado na string (equivalente à posição da última ocorrência do caractere ou string na string encontrada da esquerda para certo), retorna -1 se não existir
>>> s 'this is a string' >>> s.find("s") 3 >>> s.find("f") -1 >>> s.rfind("f") -1 >>> s.rfind("s") 10
encode ----- método para converter strings em bytes em python3, método decode() para converter bytes em strings (método em bytes)
>>> s 'this is a string' >>> s.encode() b'this is a string' >>> d = s.encode() >>> d b'this is a string' >>> type(d) <class 'bytes'> >>> d b'this is a string' >>> d.decode() 'this is a string' >>> ss = d.decode() >>> ss 'this is a string' >>> type(ss) <class 'str'>
formato ------ formatar string, concatenar strings
isupper ------ Determina se a string contém todas as letras maiúsculas
islower ----- ------ Determine se a string contém todas as letras minúsculas
>>> s.isupper() False >>> s.islower() False
istitle ----- Determine se é um título
>>> s.istitle() False >>> ss = "This Is A Dog" >>> ss.istitle() True
isspace ----- Não é comumente usado para determinar se é um espaço.
>>> sss = " " >>> sss.isspace() True >>> ss 'This Is A Dog' >>> ss.isspace() False
isdigit ------ Determine se é um número
>>> sss = "123234344" >>> sss.isdigit() True >>> ss 'This Is A Dog' >>> ss.isdigit() False >>> sss = "1233443gggg" >>> sss.isdigit() False
isalnum ------ determina se são letras e números (alfanuméricos)
>>> help(s.isalnum) Help on built-in function isalnum: isalnum() method of builtins.str instance Return True if the string is an alpha-numeric string, False otherwise. A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the string. >>> sss '1233443gggg' >>> sss.isalnum() True >>> ss 'This Is A Dog' >>> ss.isalnum() False
isalpha ------ determina se é uma carta
título ----- Converter string para formato de título
>>> s 'This is a string' >>> s.istitle() False >>> s.title() 'This Is A String' >>> sss = s.title() >>> sss 'This Is A String' >>> sss.istitle() True
superior ------- Converte string em maiúscula
lower ------- Converte string em minúsculas
>>> s 'This is a string' >>> s.lower() 'this is a string' >>> s.upper() 'THIS IS A STRING'
split ----- Divida a string de acordo com o símbolo especificado e o valor de retorno é uma lista
>>> s 'This is a string' >>> s.split(" ") ['This', 'is', 'a', 'string'] >>> l = s.split(" ") >>> l ['This', 'is', 'a', 'string'] >>> type(l) <class 'list'> >>> l = s.split("s") >>> l ['Thi', ' i', ' a ', 'tring']
join ------ concatena um objeto iterável em uma string de acordo com o formato especificado
>>> ls = ["A","B","c","d"] >>> type(ls) <class 'list'> >>> ss = " ".join(ls) >>> ss 'A B c d' >>> type(ss) <class 'str'> >>> ss = "*".join(ls) >>> ss 'A*B*c*d'
tira ------- remova espaços em ambos os lados
rstrip ------ limpe os espaços à direita
lstrip -------- limpar espaços à esquerda
>>> ss = " hhhhhhh " >>> ss ' hhhhhhh ' >>> ss.strip() 'hhhhhhh' >>> ss.strip() 'hhhhhhh' >>> ss ' hhhhhhh ' >>> ss.rstrip() ' hhhhhhh' >>> ss.lstrip() 'hhhhhhh '
substituir ("caractere original", "novo caractere") ------ Substitua o caractere correspondente
>>> s 'This is a string' >>> s.replace("s","t") 'Thit it a ttring'
Fatia: usada para separar objetos iteráveis (contêineres)
Regras de gramática:
object[start_index:end_index:step]
start_index ------- Índice inicial (posição inicial)
end_index ------ Índice final (posição final), não inclui o valor em end_index
passo ---- tamanho do passo, pode ser um número positivo ou negativo, número positivo (da esquerda para a direita) número negativo (da direita para a esquerda), o valor padrão é 1
object[:] ----- 切割的是一个完整的对象 object[start_index:] ------ 从start_index开始切割到最后的位置,步长为1 object[:end_index] ------ 从最开始的位置切割到end_index处,但是不包含end_index object[start_index:end_index] ------- 从start_index开始切割到end_index处,但是不包含end_index,步长为1 object[start_index:end_index:step] ------------ 从start_index开始切割到end_index处,但是不包含end_index,步长为step
O intervalo entre o fechamento frontal e a abertura traseira
ls = [0,1,2,3,4,5,6,7,8,9]
1. Corte um único valor
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[0] 0 >>> ls[-4] 6
2. Corte o objeto completo
>>> ls[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[::] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[::-1] #-1 表示从右往左切割 所以是倒序 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3. start_index e end_index são números positivos
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[1:6] [1, 2, 3, 4, 5] >>> ls[1:6:-1] # start_index=1 end_index = 6表示的是从1切割到6的位置,但是不包含6处的值,从左往右切割,step=-1 表示从右往左 [] >>> ls[6:1] [] >>> ls[6:1:-1] [6, 5, 4, 3, 2] >>> ls[:6] [0, 1, 2, 3, 4, 5] >>> ls[:6:-1] [9, 8, 7] >>> ls[6:] [6, 7, 8, 9] >>> ls[6::-1] [6, 5, 4, 3, 2, 1, 0] >>>
4. start_index e end_index são números negativos
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[-1:-6] [] >>> ls[-1:-6:-1] [9, 8, 7, 6, 5] >>> ls[-6:-1] [4, 5, 6, 7, 8] >>> ls[:-6] [0, 1, 2, 3] >>> ls[:-6:-1] [9, 8, 7, 6, 5] >>> ls[-6:] [4, 5, 6, 7, 8, 9] >>> ls[-6::-1] [4, 3, 2, 1, 0]
5. Start_index e end_index são combinados com positivo e negativo
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[1:-6] [1, 2, 3] >>> ls[1:-6:-1] [] >>> ls[-1:6] [] >>> ls[-1:6:-1] [9, 8, 7]
6. Fatiamento contínuo
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[:8][2:5][-1:] [4] ls[:8] ----- [0,1,2,3,4,5,6,7] ls[:8][2:5] ----- [2,3,4] ls[:8][2:5][-1:] ----- [4]
7. Os três parâmetros de fatiamento também podem ser expressões
>>> ls [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ls[2+1:3*2:7%3] [3, 4, 5] >>> ls[3:6:1] [3, 4, 5] >>> ls[2:6:2] [2, 4]
8. Fatiar também pode cortar outros objetos
>>> (1,2,3,4,5,6,7,8,9)[:3] (1, 2, 3) >>> "ABCDEFGHIJK"[::2] 'ACEGIK' >>> for i in range(1,100)[2::3][-10:]: ... print(i) ... 72 75 78 81 84 87 90 93 96 99
Questões de entrevista:
1. Se o intervalo de subscritos for excedido ao usar fatias para cortar dados, será relatado um erro?
Nenhum erro será relatado. Se exceder o intervalo, o objeto completo será retornado. Se for inconsistente, [] será retornado.
2. Como reverter a saída de uma lista em python?
loop reverso
[::-1]
lista.reverso()