Python Capítulo V - cadenas integrado en las estructuras de datos 01-

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:

  1. Sólo se puede conectar literal de cadena de esta manera, la variable no puede participar
  2. No añadir puntuacion entre las cuerdas
  3. 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 ( indexsubíndice). Puede ser utilizado solo para visitar cada carácter de la cadena por el índice.

Además, puesto que pythonno hay ningún tipo de carácter, incluso si un solo carácter es conseguir un tipo de cadena.

indexDesde 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. -1Es el índice del último elemento. -0Y 0es el mismo.

s = "hello world"

print(s[-1])
print(s[-2])
print(s[-len(s)])

Si indexfuera 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 indexsolamente 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:

  1. Rebanada, siempre comienzan índice incluye, al final de la etiqueta no incluye
  2. Un primer índice y un último índice se pueden omitir. Si se omite, el primer subíndice es el valor por defecto 0si 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 insignificados 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
  1. s.capitalize() La primera letra se convierte a mayúsculas, y devuelve la cadena

  2. s.lower() Todo se convierte en cadena en minúsculas alfabético

  3. s.upper() Todas las letras mayúsculas se convierte en cadena

  4. s.swapcase() Invertir caso

  5. s.title() El título de la primera letra de cada palabra en mayúscula

  6. s.center(w)

    centro de cuerda, con espacios en ambos lados. wEs 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
  1. s.isalnum()

    Todos los personajes son letras o números mayores que 0 si se devuelve la longitud de la cadena, y True

  2. s.isalpha()

    Si la longitud de la cadena es mayor que 0, y todos los caracteres son letras, vuelve True

  3. s.isdigit()

    Si la longitud de la cadena es mayor que 0, y todos los personajes son rendimientos numéricos True

  4. s.islower()

    ¿Son todas las letras están en minúsculas

  5. s.isupper()

    Si todas las letras se escriben en mayúsculas

  6. s.istitle()

    La primera letra de cada palabra de una cadena si el capital

  7. s.isspace()

    Si todos los espacios en blanco, y hay al menos un carácter

  8. s.startswith(prefix, start, end)

    Slice [inicio, final] al inicio de la gama si prefijo

  9. 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
  1. s.split(sep, maxsplit)Utilizar seppara cortar la cadena, si usted no pasa sepel espacio en blanco por defecto maxsplitnúmero máximo de divisiones
  2. s.rsplit(sep, maxsplit)Uso sepdel lado derecho cortó la cuerda, si usted no pasa sepel espacio en blanco por defecto maxsplitnúmero máximo de divisiones
  3. s.splitelines(keepends)Cadena dividida en filas, keepends un valor booleano, el valor predeterminado es Falso, si es cierto, el separador postura reservada
  4. s.join(seq) Representada por la secuencia de SEQ conectada s
En cuarto lugar, la división de la cadena, y combinaciones
  1. s.find(str, beg=0, end=len)

    Las método comprende detectar si la subcadena de cadena str, si se especifica beg(inicio) y endde 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.

  2. s.rfind(str, beg=0, end=len) Detector de cadena desde el lado derecho contiene la subcadena str, si se especifica beg(inicio) y endrango (final), se comprueba si se encuentra dentro del rango especificado, si la subcadena contiene el valor del índice de rendimiento, en otro caso -1.

  3. s.index(str, beg=0, end=len)Las método comprende detectar si la subcadena de cadena str, si se especifica beg(inicio) y endde 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.

  4. s.rindex(str, beg=0, end=len) Detector de cadena desde el lado derecho contiene la subcadena str, si se especifica beg(inicio) y endrango (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.

  5. count(substr, start, end)número Substr de los cálculos que se producen dentro de la porción [inicio, final] gama

  6. replace(oldstr, newstr, count) Vuelva a colocar la newstr oldstr, contar el número de veces que el reemplazo

  7. s.strip([chars])

    Los extremos izquierdo y derecho de los caracteres charseliminados. Si usted no pasa parámetros, quitar el espacio predeterminado. El compuesto intermedio no se elimina.

  8. 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())

Supongo que te gusta

Origin www.cnblogs.com/yanadoude/p/12604427.html
Recomendado
Clasificación