"Página inicial do autor": Shibie Sanri wyx
"Perfil do autor": CSDN top100, especialista em blog Alibaba Cloud, especialista em compartilhamento de nuvem Huawei, criador de alta qualidade no campo de segurança de rede
"Coluna recomendada": Amigos interessados em segurança de rede podem pagar atenção para a coluna "Introdução ao domínio da segurança de rede"
contar
count() é uma função interna do Python, que pode " contar" o "caractere" especificado na string ou o "número de vezes" que a string especificada aparece .
gramática
String.count( str, start, end )
parâmetro
- str : (obrigatório) caractere ou string especificado
- início : (opcional, inteiro) índice inicial, padrão 0
- end : (opcional, inteiro) o índice final, a última posição padrão
valor de retorno
- tipo int, retorna o número de ocorrências
Exemplo: Contar o número de ocorrências do caractere 'a' na string 'abcabcabc'
print('abcabcabc'.count('a'))
saída:
3
Ao pesquisar em uma string, o conteúdo da pesquisa pode ser apenas "tipo de string" , caso contrário, um erro será relatado TypeError: must be str
1. Especifique o local de pesquisa
Os parâmetros inicial e final podem definir o "intervalo" da pesquisa , incluindo a cabeça, mas não a cauda[start, end)
O parâmetro inicial deve ser "integer" ou "not set" , o valor padrão é 0
O parâmetro end deve ser "integer" ou "not set" , o valor padrão é len(string), o comprimento da string, que é a última posição
Os parâmetros de count() não são especificados pelos nomes dos parâmetros:
- Se apenas "um parâmetro" for fornecido , ele será atribuído ao parâmetro str por padrão
- Se apenas "dois parâmetros" forem fornecidos , atribua-os aos parâmetros str e start na ordem
- Se forem fornecidos "três parâmetros" , atribua valores aos parâmetros str, start e end em ordem
Exemplo: A partir do terceiro caractere, procure o número de ocorrências do caractere 'a' na string 'abcabcabc'
print('abcabcabc'.count('a', 3))
saída:
2
Exemplo: Nas posições 3~6 da string, procure o número de ocorrências do caracter 'a' na string 'abcabcabc'
print('abcabcabc'.count('a', 3, 6))
saída:
1
2. O parâmetro é um número negativo
Os parâmetros inicial e final podem ser "números negativos" , que também incluem a cabeça, mas não a cauda[-start, -end)
Quando start é um número negativo, significa "start" da posição "right" . Essa posição não é um índice e começa a contar a partir de 1.
print('aaabbbccc'.count('a', -6))
print('aaabbbccc'.count('a', -7))
saída:
0
1
Quando end é um número negativo, significa "end" da posição "right" e também começa a contar a partir de 1.
Por exemplo, no caso a seguir, a faixa de configuração começa na 6ª à direita e termina na 1ª à direita
print('aaabbbccc'.count('c', -6, -1))
saída:
2
Quando o número negativo exceder o "comprimento" da string , ele começará a contar a partir de 0.
Por exemplo, a string tem apenas 8 caracteres, mas o valor do parâmetro start é -10, count() irá torná-la "inválida".
print('aaabbbccc'.count('c', -10))
print('aaabbbccc'.count('c'))
saída:
3
3
3. O count() da lista
A lista também possui count() , que pode contar o "número de vezes" que o "elemento" especificado aparece na lista . Embora o nome da função seja o mesmo, o uso é diferente
gramática
list.count( element )
parâmetro
- elemento : o elemento que precisa ser contado
valor de retorno
- tipo int, retorna o número de ocorrências do elemento
Exemplo: conte o número de vezes que o elemento 1 aparece na lista
print([1, 2, 1, 2].count(1))
saída:
2
4. Contagem de Yuanzu ()
A tupla é equivalente a uma lista somente leitura e o count() da tupla é o mesmo que o count() da lista
gramática
tuple.count( element )
parâmetro
- elemento : o elemento que precisa ser contado
valor de retorno
- tipo int, retorna o número de ocorrências do elemento
Exemplo: contar o número de ocorrências do elemento 1 na tupla
print((1, 2, 1, 2).count(1))
saída:
2
5. Count() de outros tipos de dados
A sintaxe count() de diferentes tipos de dados é diferente:
O count() de strings, strings de bytes e arrays de bytes pode especificar as posições inicial e final; o
count() de listas, tuplas e sequências aritméticas só pode procurar por elementos especificados.
- Corda:
string.count( str, start, end )
- Cadeia de bytes:
bytes.count( str, start, end )
- matriz de bytes:
bytearray.count( str, start, end )
- lista:
list.count( element )
- tupla:
tuple.count( element )
- Progressão aritmética:
range.count( element )
6. Tipo booleano
O tipo booleano é especial. True pode corresponder a 1 e False pode corresponder a 0. Para obter detalhes, consulte os seguintes casos:
print((True, False).count(True))
print((True, False).count(1))
print((True, False).count(0))
saída:
1
1
1