diccionario cadena de Python y el fundamento del conjunto de la colección

A, cadena Cadena

1. Dividir y combinar

1,1 str1.split (str2, num)

Función: string str2 toma como la división, núm predeterminado str1.count ()

Si después de un num dado, se toma cuerda num, el ya no queda adoptado.

str1 = "how are you , i am fine thank you"
#使用空格进行分割
list1 = str1.split(" ")
print(list1)
#结果
['how', 'are', 'you', ',', 'i', 'am', 'fine', 'thank', 'you']

1.2 str1.splitlines ([extremos NOTCH])

Función: cadena en filas ( '\ r', '\ r \ n', '\ n') se divide, devuelve una lista de elementos que cada fila, si el valor del parámetro keepends Falso, no hay saltos de línea, Si es verdad, los saltos de línea reservadas.

str2 = '''how are
you ?
i am
fine
!
'''

list2 = str2.splitlines()
print(list2)
#结果
['how are', 'you ?', 'i am', 'fine', '!']
str2 = '''how are
you ?
i am
fine
!
'''

list2 = str2.splitlines(keepends=True)
print(list2)
#结果
['how are\n', 'you ?\n', 'i am\n', 'fine\n', '!\n']

1,3 str1.join (SEC)

Función: una cadena de caracteres especificada como un separador, todos los elementos de la SEC se fusionaron en una nueva cadena

list2 = ['you', 'are', 'very', 'great', '!']
str3 = ' '.join(list2)
print(str3)
#结果
you are very great !
str1 = "how are you , i am fine thank you"
str3 = "*".join(str1)
print(str3)
#结果
h*o*w* *a*r*e* *y*o*u* *,* *i* *a*m* *f*i*n*e* *t*h*a*n*k* *y*o*u

Nota: Si la conexión es una cadena, se va a utilizar para cada carácter de la cadena de caracteres de conexión especificado.

2. Obtener el máximo y el mínimo de caracteres

2.1 max (str)

Función: Retorna la cadena str en las letras más grandes

str1 = "how are you , i am fine thank you"
print(max(str1))
#结果
y

2,2 min (str)

Función: Devuelve la cadena str letra mínimo

str1 = "how are you , i am fine thank you"
print(min(str1))
#结果
‘ ’

Nota: La comparación es el valor ASCII

3. cadena Alternativamente

3.1 sustituir (viejo, nuevo [, count])

Función: la vieja cadena de reemplazar nueva, si no se especifica para el recuento, todo defecto Alternativamente, si el contar Anterior especifica recuento, a continuación, después de la sustitución

str1 = "how are you , i am fine thank you"
str2 = str1.replace("you" ,'me')
print(str2)
#结果
how are me , i am fine thank me

3.2 Mapeo cadena de reemplazo

Un parámetro: Carácter para ser parámetros II convierte: el carácter objetivo

Dic = Strkmketrans (Oldstr, newstr)

str2.translate (DIC)

str5 = "aaa bbb  ccc  deee"
dic = str5.maketrans("ac", "21")
# a--2   c--1
str7 = "how  are you  ,u ewe "
print(str7.translate(dic))
#结果
how  2re you  ,u ewe 
#注意:很少用
4. Analizar el final del principio de la cadena

str.startswith (cadena1, start = 0, final = len (str))

Función: dentro del rango dado se determina si la cadena de caracteres que comienzan con una cadena dada, si no se especifica rango, la totalidad de cadena predeterminado

str1 = "aaa bbb  ccc  deee"
print(str1.startswith("aa"))
#结果
True


str1 = "aaa bbb  ccc  deee"
print(str1.startswith("aa", 3, 9))
#结果
False

str.endswith (str, start = 0, final = len (str))

Función: dentro del rango dado se determina si los extremos de cadena con la cadena especificada, si no se especifica el rango, el valor predeterminado es la cadena completa

str1 = "aaa bbb  ccc  deee"
print(str1.endswith("e"))
#结果
True

str1 = "aaa bbb  ccc  deee"
print(str1.endswith("e", 3 ,9))
#结果
False
La codificación y decodificación

str.encode (que codifica =”UTF-8” , los errores =” scrict”)

Función: una cadena de caracteres codificados, si no se especifica, la selección predeterminada de codificación UTF-8

str1 = "你好吗?"
data = str1.encode()
print(data)
print(type(data))
#结果
b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97\xef\xbc\x9f'
<class 'bytes'>

str.decode (encoding =”UTF-8” )

“Hola” .encode ( “UTF-8” ) .decode ()

Función: una decodificación carácter, sin especificar el formato de codificación, seleccionado por defecto UTF-8

str1 = "你好吗?"
data = str1.encode()
print(data)
print(type(data))

data2 = data.decode()
print(data2)
print(type(data2))

#结果
b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97\xef\xbc\x9f'
<class 'bytes'>
你好吗?
<class 'str'>

Nota: El formato de codificación decodificación para ser coherente con los restos de la codificación

De expansión: errores = ignorar tiempo, ignoran el error

6. determina si una letra o dígito

Strkislf ()

Función: determinar al menos una cadena de caracteres y todos los caracteres son las letras, si es cierto, entonces devolver True, de lo contrario Falso

str8 = "hello ni hao "
print(str8.isalpha())
#结果
False
str9 = "hellonahao"
print(str9.isalpha())
#结果
True

str.isalnum ()

Función: determinar una cadena de al menos un carácter, y todos los caracteres son letras o números devuelve verdadero y falso en caso contrario

str10 = "sc22xdcd"
print(str9.isalnum())
print(str10.isalpha())
#结果
True
False
7. Analizando el caso

str.isupper ()

Función: Si la cadena contiene al menos un carácter cartas, y estas letras aparecen en mayúsculas, a continuación, devolver True, de lo contrario Falso

str10 = "AA2221  111"
print(str10.isupper())
#结果
True

str10 = "AAaaa"
print(str10.isupper())
#结果
False

str.islower ()

Función: Si la cadena contiene al menos un carácter carta, y que todas las letras en minúsculas, se devuelve cierto, de lo contrario devuelve falso

str10 = "aa2221  111"
print(str10.islower())
#结果
True
8. Analizar contiene caracteres especiales

8,1 str.istitle ()

Función: Si una cadena es el título del devuelve verdadero, de lo contrario Falso

[Título] en mayúscula la primera letra de cada

str1 = "Hello World"
print(str1.istitle())

8,2 Strkisdigit ()

isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
print("123".isdigit())
print("123a".isdigit())
#结果
True
False

ídem

str.isnumeric ()

Función: Si la cadena contiene sólo caracteres numéricos, devuelve True, de lo contrario Falso

isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)

8,3 str.isdecimal ()

Función: Comprobar si la cadena contiene sólo el carácter decimal, si se devuelve True, de lo contrario Falso

isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)
print("123".isdecimal())
print("123z".isdecimal())
#结果
True
False
num = "1"  #unicode
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = "1" # 全角
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = b"1" # byte
num.isdigit()   # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'

num = "IV" # 罗马数字
num.isdigit()   # True
num.isdecimal() # False
num.isnumeric() # True

num = "四" # 汉字
num.isdigit()   # False
num.isdecimal() # False
num.isnumeric() # True

8,4 str.isspace ()

Función: Si la cadena contiene sólo espacios, de lo contrario, devuelve True False

print(" ".isspace())
print("\t".isspace())
print("\n".isspace())
print("\r".isspace())
print("  qq".isspace())

#结果
True
True
True
True
False
conversión de código 9.ASCII

9.1 palabras (str)

Función: Get cadena representa un entero de valor ASCII

print(ord("A"))
print(ord("你"))
#结果
65
20320

9.2 chr (str)

Convertido en el carácter codificado correspondiente

print(chr(68))
print(chr(20190))
#结果
D
仞

Dos, dict diccionario

1. Visión general

dict es también un dispositivo de almacenamiento, y una lista de tuplas similar, sin embargo, el uso de la clave de diccionario - valor (clave-valor) se almacena en forma

Ventajas: velocidad de búsqueda rápida

características 2.key

1. La clave debe ser único en el diccionario

2.key debe ser objetos inmutables

Por ejemplo: cadena, entero, etc. son inmutables, como la clave

la lista es variable, no como una clave

Pensando: Almacenamiento de una clase en la piel de los resultados

Pensamiento 1: lista o tupla, pero no se producen fácilmente en el trastorno No.

Ideas 2: Utilice la lista bidimensional o tupla, pero será más lento

3 ideas: diccionario puede ser utilizado, el número de estudiantes o nombre de la escuela como una llave, la puntuación de valor para el almacenamiento, fácil de encontrar

3. Crear un diccionario

sintaxis:

Diccionario nombre de clave = {1: 1 Valor, la clave 2: valor de 2, ...}

dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1)
4. Operación Diccionario

4.1 elemento de Acceso

Sintaxis: element name = diccionario [clave]

dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1['tom'])

Nota: En el caso de la clave no existe, se quejará

Sintaxis: = elemento de diccionario .get (llave)

Función: utilizando el método get para obtener el valor, si la clave está presente, se devuelve el valor del valor si no existe la clave se devuelve Ninguno

dist1 = {'tom':90,'lili':78, 'lele':92}
value = dist1.get('tom')
print(value)

4.2 Adición de elementos

Sintaxis: Diccionario nombre [clave] = Valor

dist1 = {'tom':90,'lili':78, 'lele':92}
dist1['lisi'] = 89
print(dist1)

Nota: una tecla corresponde a un solo valor, muchas veces el valor de una clave de asignación de los valores anteriores serán sobrescritos más tarde.

4.3 Eliminación de elementos

Sintaxis: Diccionario nombre .pop (llave)

dist1 = {'tom':90,'lili':78, 'lele':92}
dist1.pop('tom')
print(dist1)
5. recorrido diccionario

5,1 bucle for itera

sintaxis:

Obtener clave

para la clave en dist:

impresión (llave)

Obtener el valor

para el valor en dist.values ​​():

de impresión (valor)

Al mismo tiempo obtener las claves y valores

para k, V en dist.items ():

impresión (k, v)

Nota: Diccionarios no están ordenados, almacenados en la memoria se desordena y por lo tanto no se pueden obtener por el valor del subíndice

dist1 = {'tom':90,'lili':78, 'lele':92}
#获取字典的key
for key in dist1:
    print(key)
#获取字典中的value    
for value  in dist1.values():
    print(value)
#同时获取字典中的key与value
for k, v  in dist1.items():
    print(k, v)
6. La diferencia con la lista de

1.dist localizar e insertar la velocidad rápida, no se incrementará el valor clave se vuelve lento, pero cuando se mira en la lista uno por uno desde atrás rasca y gana a través de los elementos, y cuando la cantidad de datos aumenta, la velocidad también como será lenta

2.dist tomar una gran cantidad de memoria, la memoria y más basura, pero lista sólo el equivalente de almacenar una clave de diccionario o el valor de una parte, y los datos muy próximas entre sí.

Tres, la toma de series

1. Visión general

dist conjunto similar y el conjunto es un conjunto de clave, pero con la diferencia de que el conjunto no se almacena valor dist

Esencia: conjunto no ordenado de elementos y no repetición

creación 2.Set

sintaxis:

set1 = conjunto ([1, 2, 3, 4, 5])

Nota: Crear una lista o tupla conjunto dist necesidad o como un elemento del conjunto de entrada, se filtra automáticamente los duplicados en el conjunto

s1 = set([1, 2, 3, 4, 5])
print(s1)
operación 3.Set

3.1 set.add ()

nota:

1. Puede añadir elementos duplicados, pero no habrá ningún efecto

2.Add elementos que no pueden ser una lista o un diccionario, ya que son variables

s1 = set([1, 2, 3, 4, 5])
s1.add(6)
s1.add((2, 3, 4))
print(s1)
#结果
{1, 2, 3, 4, 5, 6, (2, 3, 4)}

3,2 set.update ()

Función: inserción de toda la lista, tupla, rompiendo la cadena insertada

Nota: No se puede directamente en digitales

s1 = set([1, 2, 3, 4, 5])
s1.update([4,"anam","hha"])
s1.update("hello")
print(s1)
#结果
{1, 2, 3, 4, 5, 'anam', 'l', 'o', 'h', 'e', 'hha'}

3,3 Set.remove (elemento)

Función: La eliminación de elementos

s1 = set([1, 2, 3, 4, 5])
s1.remove(3)
print(s1)

elemento 3.4 de desplazamiento

sintaxis:

para i en el sistema:

imprimir (i)

Nota: conjunto está ordenado, y por lo tanto no puede ser adquirido por el elemento subíndice

para el índice, los datos en enumerate (set):

impresión (índice, datos)

De esta manera, para añadir fuerza a un sufijo

s1 = set([1, 2, 3, 4, 5])
for i in s1:
    print(i)

for index,data in enumerate(s1):
    print(index, data)

3.5 intersección y unión

sintaxis:

Intersección más reciente = SET1 y SET2

Unión más reciente = set1 | set2

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7])
s3 = s1 & s2
s4 = s1 | s2
print(s3)
print(s4)
#结果
{4, 5}
{1, 2, 3, 4, 5, 6, 7}

En cuarto lugar, la conversión de tipos

La herramienta principal para muchos de almacenamiento: lista, tupla, dict, conjunto

Características especiales: dict se utiliza para almacenar pares clave-valor

4.1 lista convierte en conjunto
l1 = [1, 2, 4, 5]
s1 = set(l1)
print(type(s1))
print(s1)

4,2 tupla convierte en conjunto

t1 = (1, 2, 3, 4)
s1 = set(t1)
print(type(s1))
print(s1)

4.3 conjunto se convierte a la lista

s1 = set([1, 2, 3, 4])
l1 = list(s1)
print(type(l1))
print(l1)

4.4 conjunto se convierte en tupla

s1 = set([1, 2, 3, 4])
t1 = tuple(s1)
print(type(t1))
print(t1)

En quinto lugar, el iterador

Lista de Fórmula

sintaxis:

list = [resultado para x en el rango (m, n)]

Demanda: La creación de un [1, 2, ... 100] Lista

>>> range(1, 101)
[1, 2, 3, 4, 5,...,100]

Requisito 2: Generar un [1x1, 2x2, 3x3, ... .100x100] lista

>>> list1 = []
>>> for x in range(1, 101)
        list1.append(x*x)
>>> list1
[1, 4, 9,....10000]

#使用列表生成式,可以这么来写
>>> list2 = [x*x for x in range(1, 101)]

Naturaleza: Obligatorio para bucle es a la línea de descarga, y el resultado se escribe en la parte frontal de entrada, el resultado del uso de [] citas

5.1 iterables

1. puede actuar directamente directamente en el objeto para la circulación denominados colectivamente como iterables, que llamamos: Iterator

2. Podemos usar isintance () para determinar si un objeto es un objeto iterador

3. El bucle puede actuar directamente sobre el tipo de datos son los siguientes:

un conjunto de tipos de datos: Como lista, tupla, dict, set de cuerdas

b generador (generador) :. iterador de retorno es una función, de hecho, es la definición de un algoritmo iterativo que puede ser entendido como un iterador especial.

constructor:

Lista por la fórmula, podemos crear directamente una lista, sin embargo, sujeto a las limitaciones de memoria, la lista es sin duda la capacidad limitada, si sólo necesita acceder a los primeros elementos, si el elemento de la lista se puede calcular de acuerdo con un algoritmo de salida, que si podemos durante el ciclo de constante calcular los elementos posteriores? Esto elimina la necesidad de crear una lista completa, lo que se ahorra mucho espacio. En Python, mientras circula mecanismo para este cálculo, conocido como un generador (generador)

#要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator
>>> g = (x for x in range(1, 101))
>>> g
<generator object <genexpr> at 0x10124df68>
>>> g.__next__()
1
>>> [x for x in g]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

NOTA: Al usar Iterator paquetes que determinan la necesidad de importar Iterable

from collections import Iterable

print(isinstance([],Iterable))
print(isinstance((),Iterable))
print(isinstance({},Iterable))
print(isinstance("",Iterable))
print(isinstance((x for x in range(10)),Iterable))
print(isinstance(1,Iterable))
#结果
True
True
True
True
True
False
5.2 iterador

Iterador: no sólo puede actuar en un bucle, que puede ser el siguiente () la función sigue llamando y devuelve el siguiente valor, hasta que el último error StopIteration, dijo que no podía devolver el siguiente valor

Puede ser la próxima devuelve la función () de la siguiente llamada y siguen siendo un tema digno iterador (Iterator objetos)

Puede utilizar la función isinstance () para determinar si un objeto es un objeto iterador

print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance({},Iterator))
print(isinstance("",Iterator))
# 只有这个是迭代器
print(isinstance((x for x in range(10)),Iterator))

#结果
False
False
False
False
True
5.3 conversión Iterator

Por Iter () lista de funciones, tupla, dict, objetos de cadena convierten iterador

>>> a = iter([1, 2, 3, 4, 5])
>>> print(next(a))
1
print(isinstance(iter([]), Iterator))
print(isinstance(iter(()), Iterator))
print(isinstance(iter({}), Iterator))
print(isinstance(iter(''), Iterator))
#结果
True
True
True
True
Publicado 31 artículos originales · ganado elogios 4 · Vistas 3520

Supongo que te gusta

Origin blog.csdn.net/qq_29074261/article/details/80016686
Recomendado
Clasificación