Una función de las estructuras de datos de Python
Hasta ahora, si queremos salvar algunos datos, sólo a través de las variables. Pero si se encuentra con más datos para ser salvado, esta vez con tiempo variable se vuelve menos realista.
Tenemos que ser capaz de guardar un montón de algo como datos variables, esto es una estructura de datos (Data Structures).
Estructura de datos, que es sólo una configuración, algunas estructuras de datos polimeriza juntos. En otras palabras, que se utilizan para almacenar una serie de colección de datos relacionados.
Python proporciona cuatro incorporado en las estructuras de datos: List
(lista) Tuple
(tupla) , Dictionary
(diccionario) , Set
(juego)
En sentido estricto, la cadena es una estructura de datos, debido a que el personaje que organiza conjuntamente.
Por lo tanto, este capítulo se iniciará con arranque con la cadena.
Una cadena
1.1 Definición de una cadena
Cadena es una cadena de caracteres, es un texto tipos de datos lenguaje de programación representado
Se puede utilizar un par de comillas dobles o simples definir una sola cadena en Python
Aunque se puede utilizar
\"
o\'
hacer la transferencia de la cadena, pero el desarrollo real
- Si necesita utilizar el contenido de la cadena
"
, se puede utilizar la'
cadena de definición- Si necesita utilizar el contenido de la cadena
'
, se puede utilizar la"
cadena de definición
str1 = "hello python"
str2 = "你是'王二狗'么"
str3 = '你是"李小花"么'
print(str1)
print(str2)
print(str3)
1.2 conexiones repetidas y
En el estudio previo que estamos cerca de la comprensión de lo que es una cadena, la cadena de conexión, la salida y así sucesivamente. Vamos a empezar el aprendizaje de la cadena de funciones más avanzadas.
+
Se utiliza para conectar dos cadenas
*
Se utiliza para repetir una cadena
Los dos operadores anteriores pueden ser manipulados variable.
a = "你好"
b = a + "world"
c = b * 3
print(b)
print(c)
Si dos o más literal de cadena a escribir juntos, se conectarán automáticamente de forma coordinada.
d = "a" "b""c" "你好"
print(d) # abc你好
nota:
- Sólo se puede conectar literal de cadena de esta manera, la variable no puede participar
- No añadir puntuacion entre las cuerdas
- Si quieres romper una cadena larga, es particularmente útil en este sentido.
text = ("窗前明月光"
"疑是地上霜"
"举头望明月"
"低头思故乡")
print(text)
1.3 Get longitud de la cadena
Longitud de la cadena, es el número de caracteres en los medios de cuerda. Utilizando la función incorporada len()
para obtener la longitud de la cadena. len()
Se puede conseguir cualquier longitud de la secuencia, sabremos más tarde.
s = "hello world"
print(len(s)) # 11
índice de 1,4 string (índice)
Cada carácter en la cadena tiene un número, este número de lenguajes de programación conocidos generalmente como índice ( index
subíndice). Puede ser utilizado solo para visitar cada carácter de la cadena por el índice.
Además, puesto que python
no hay ningún tipo de carácter, incluso si un solo carácter es conseguir un tipo de cadena.
index
Desde el 0
índice comenzó, el último carácter:字符串长度 - 1
s = "hello world"
print(s[0])
print(s[3])
print(s[len(s) - 1])
Los índices también pueden ser negativos, que representa el derecho a iniciar el cálculo. -1
Es el índice del último elemento. -0
Y 0
es el mismo.
s = "hello world"
print(s[-1])
print(s[-2])
print(s[-len(s)])
Si index
fuera de rango, se produce una excepción. A fin de utilizar el tiempo hay que tener cuidado para evitar que fuera subíndice de rango.
s = "hello world"
print(s[len(s)])
1,5 cuerdas rebanada ( slice
)
Utilice index
solamente obtener un solo carácter. el funcionamiento y la cadena rebanar puede obtener una subcadena.
operación pitón corte es muy elegante! Si ha utilizado otros idiomas, usted sabe por qué lo digo.
s = "life is short, use python"
print(s[0:4]) # 获取下标为 0(包括) 到下标为 4(不包括) 的子字符串 "life"
print(s[2:3]) # "f"
print(s[2:]) # fe is short, use python
print(s[:4]) # life
print(s[-2:]) # on
nota:
- Rebanada, siempre comienzan índice incluye, al final de la etiqueta no incluye
- Un primer índice y un último índice se pueden omitir. Si se omite, el primer subíndice es el valor por defecto
0
si se omite el segundo subíndice, el valor por defecto es la longitud de la cadena
Aunque cuando se utiliza el subíndice obtener un solo carácter, si está fuera del rango, se emite una excepción.
Pero cuando las rebanadas, si no es una excepción es lanzada fuera de límites.
s = "life is short, use python"
print(s[9:100]) # hort, use python
print(s[-1:1000]) # n
1.6 cadena inmutabilidad
cadena de la inmutabilidad se refiere a la cadena una vez creados en la memoria, el contenido de la cadena de la vida no se pueden cambiar. Si desea obtener una cadena diferente, sólo para volver a crear una cadena.
Beneficios inmutables se comparte sin preocuparse de los problemas de sincronización. Debido a que todos no se puede modificar.
Por lo tanto, modificando el subíndice de una cadena de caracteres es incorrecto, se producirá una excepción.
s = "life is short, use python"
s[0] = "c" # 不能修改,这行代码会抛出异常
Si necesita una cadena diferente, se debe crear una nueva, como el código siguiente:
s = "life is short, use python"
s1 = "P" + s[1:]
print(s1)
1.7 asociado con algunos otros operadores de cadenas
El aprendizaje de la parte delantera +、*、[]、[:]
del operador puede manipular cadenas, hay otros operadores que puede manipular cadenas.
in
Comprueba si una cadena contiene una cadena subcadena
s = "python"
print("p" in s) # True s 中是否包含字符串`p`
print("a" in s) # False
not in
Con in
significados opuestos
s = "python"
print("a" not in s) # False
print("P" not in s) # True
%(了解)
Cadena de formato. Formato de cuadrícula cadena entonces hay más, y el lenguaje C printf()
de las mismas reglas de formato.
Comúnmente utilizado en los siguientes tres tipos.
name = input("请输入你姓名:")
age = int(input("请输入你的年龄:"))
print("你好%s,你今年%s, 你的工资是 %.2f" % (name, age, 30000.4598))
1,8 método común objeto de cadena
Algunas funciones se construyen frente a la función de aprendizaje, puede llamar directamente.
Varios métodos reaprender objeto de cadena a continuación. (Ejemplo método seguido por estudio más específico orientado a objetos en detalle)
Nota: En el siguiente método, si se trata de la modificación de la cadena debe crear una nueva cadena y vuelve.
Utilizar: 字符串.方法(参数)
a la llamada
Una cadena en el caso de la conversión
-
s.capitalize()
La primera letra se convierte a mayúsculas, y devuelve la cadena -
s.lower()
Todo se convierte en cadena en minúsculas alfabético -
s.upper()
Todas las letras mayúsculas se convierte en cadena -
s.swapcase()
Invertir caso -
s.title()
El título de la primera letra de cada palabra en mayúscula -
s.center(w)
centro de cuerda, con espacios en ambos lados.
w
Es la longitud total después del llenado. Si no desea llenar el espacio, puede pasar el segundo argumento debe ser un personaje.
En segundo lugar, la cadena de función de prueba, la función devuelve el valor de estos valores son bool
-
s.isalnum()
Todos los personajes son letras o números mayores que 0 si se devuelve la longitud de la cadena, y
True
-
s.isalpha()
Si la longitud de la cadena es mayor que 0, y todos los caracteres son letras, vuelve
True
-
s.isdigit()
Si la longitud de la cadena es mayor que 0, y todos los personajes son rendimientos numéricos
True
-
s.islower()
¿Son todas las letras están en minúsculas
-
s.isupper()
Si todas las letras se escriben en mayúsculas
-
s.istitle()
La primera letra de cada palabra de una cadena si el capital
-
s.isspace()
Si todos los espacios en blanco, y hay al menos un carácter
-
s.startswith(prefix, start, end)
Slice [inicio, final] al inicio de la gama si prefijo
-
s.endswith(suffix, start, end)
Rebanada [principio, al final] si terminación de sufijo en el rango de
En tercer lugar, la cadena de búsqueda y reemplazar
s.split(sep, maxsplit)
Utilizarsep
para cortar la cadena, si usted no pasasep
el espacio en blanco por defectomaxsplit
número máximo de divisioness.rsplit(sep, maxsplit)
Usosep
del lado derecho cortó la cuerda, si usted no pasasep
el espacio en blanco por defectomaxsplit
número máximo de divisioness.splitelines(keepends)
Cadena dividida en filas, keepends un valor booleano, el valor predeterminado es Falso, si es cierto, el separador postura reservadas.join(seq)
Representada por la secuencia de SEQ conectada s
En cuarto lugar, la división de la cadena, y combinaciones
-
s.find(str, beg=0, end=len)
Las método comprende detectar si la subcadena de cadena
str
, si se especificabeg
(inicio) yend
de rango (final), se comprueba si contenida dentro de la gama especificada, si la subcadena contiene el valor del índice de rendimiento, de lo contrario -1. -
s.rfind(str, beg=0, end=len)
Detector de cadena desde el lado derecho contiene la subcadenastr
, si se especificabeg
(inicio) yend
rango (final), se comprueba si se encuentra dentro del rango especificado, si la subcadena contiene el valor del índice de rendimiento, en otro caso -1. -
s.index(str, beg=0, end=len)
Las método comprende detectar si la subcadena de cadenastr
, si se especificabeg
(inicio) yend
de rango (final), se comprueba si contenida dentro de la gama especificada, si la subcadena contiene el valor del índice de rendimiento, de lo contrario se devuelve un error. -
s.rindex(str, beg=0, end=len)
Detector de cadena desde el lado derecho contiene la subcadenastr
, si se especificabeg
(inicio) yend
rango (final), se comprueba si se encuentra dentro del rango especificado, si la subcadena contiene el valor del índice de rendimiento, de lo contrario se devuelve un error. -
count(substr, start, end)
número Substr de los cálculos que se producen dentro de la porción [inicio, final] gama -
replace(oldstr, newstr, count)
Vuelva a colocar la newstr oldstr, contar el número de veces que el reemplazo -
s.strip([chars])
Los extremos izquierdo y derecho de los caracteres
chars
eliminados. Si usted no pasa parámetros, quitar el espacio predeterminado. El compuesto intermedio no se elimina. -
s.lstrip([chars])
s.rstrip([chars])
Eliminar el carácter especificado izquierda o la derecha, el valor predeterminado es un espacio
s = "hello"
print(s.capitalize())
print(s.center(30, "z"))
print(s.find("el"))
print("123".isdigit())
print("122".isnumeric())
print(" ab c ".strip())
print("aabbaa".strip("a"))
print(max([100, 30, 40, 90]))
print("10.2.3.5".split("."))
print("hell world".title())