Introducción a Python 06: conceptos básicos del contenedor de datos (lista de cadenas de tuplas) (Parte 1)

Catálogo de texto completo, todo en un solo paso


1. Introducción

1.1 Transmisión arriba

—⇒Portal: Introducción a Python 04-Bucle (mientras y para), variables, conceptos básicos de funciones

1.2 transmisión de columna de Python

—⇒ Portal: columna de conceptos básicos de Python

1.2 Tipos y diferencias de contenedores de datos.

Nota sobre el diccionario {k-v}:
key不可以重复 Sin embargo, si el valor
se repite con cualquier clave, no informará un error ( advertencia ), sino que sobrescribirá directamente la clave anterior.

Tipo de contenedor Nombre del contenedor símbolo Ya sea para modificar ¿Está en orden? ¿Es redundante?
lista lista []
recolectar colocar {} No No
cadena cadena “” No
tupla tupla () No
diccionario dictar {“k”:“v”} No no sabes

2. Uso básico de Python

2.1 lista lista <clase 'lista'>

Tipo de elemento de lista 不受限制(similar a la lista de Java 不同, también opera en ella 不太相似)

  • Límite de capacidad de lista2**63-1
  • 不同类型elementos almacenables
  • los datos se 有序almacenan
  • 允许重复数据existir
  • 可修改

2.1.1 Definición de lista

Introducción a diferentes métodos de definición de listas:

-> (1) Mismo tipo ( 列表元素tipo)

lists = ["a", "b", "c"]
print(lists)
# print(type(lists))

-> (2) Diferentes tipos ( 列表元素tipos)

lists = ["a", 1, True]
print(lists)
# print(type(lists))

-> (3) Lista anidada ( 列表元素tipo)

lists = [["a", 1, True], ["a", 2, False]]
print(lists)
# print(type(lists))

2.1.2 Índice de subíndice de la lista

下标Búsqueda y operaciones relacionadas basadas en

-> (1) Lista de un solo nivel (subíndice directo)

Mire la situación anormal:
print(lists[3]) # Error报错: índice de lista fuera de rangoEl
subíndice de índice está fuera de rango ( Java llama al subíndice de matriz fuera de límites )

lists = ["a", "b", "c"]

print(lists[0])
print(lists[1])
print(lists[2])

-> (2) Lista de un solo nivel (subíndice inverso)

lists = ["a", "b", "c"]

print(lists[-1])
print(lists[-2])
print(lists[-3])

-> (3) Lista anidada (grupo de subíndices directos)

lists1 = [["a", "b", "c"], ["1", "2", "3"]]

print(lists1[0][0])  # a
print(lists1[1][1])  # 2
print(lists1[1][2])  # 3

-> (4) Lista anidada (grupo de subíndice inverso)

lists1 = [["a", "b", "c"], ["1", "2", "3"]]

print(lists1[-1][-1])  # 3
print(lists1[-2][-2])  # b
print(lists1[-2][-3])  # a

2.1.3 API comunes para listas

Por ejemplo, 先创建listhaga lo siguiente

lists = ["a", "b", "c"]

->(1) Si el subíndice correspondiente al elemento buscado no existe, se informará un error.

# 查找下表索引 不存在报错
index = lists.index("b")
print(f"b的位置是: {
      
      index}")  # 1

->(2) Modificar elementos

lists[0] = "a1"
print(lists)

->(3) insertar elemento

lists.insert(1, "b1")
print(lists)

->(4) Agregar elemento (uno)

lists.append("d")
print(lists)

->(5) Agregar 一堆elementos

lists2 = [99, 999, 9999]
lists.extend(lists2)
print(lists)

->(6) Eliminar elemento ( 四种método)

# 6.1 仅删除元素(根据下标)
del lists[1]
print(lists)

# 6.2 删除元素(等同于 取出下标元素并返回)
lists.pop(0)
print(lists)

# 6.3 删除元素(根据内容 找到第一个元素 删除) 只删除一个
lists.remove("b")
print(lists)

# 6.4 清空列表
lists.clear()
print(lists)

->(7) Cuente el número de elementos especificados

lists = ['a', 'a', 'b', 'b', 'c', 'd', 99, 999, 9999]
print(lists.count("a"))  # 2

->(8) Recuento de todos los elementos de la lista

print(len(lists))

->(9) Recorrer los elementos de la lista

while/for循环遍历La salida
define dos métodos.

def func_list_while(lists1):
    index = 0
    while index < len(lists1):
        print(lists1[index])
        index += 1


def func_list_for(lists1):
    for index in lists1:
        print(index)

código 测试y 输出resultados

lists = [1, 2, 3, 4, 5, 6, 7, 8, 9]
func_list_while(lists)
print("上面while循环 下面for循环")
func_list_for(lists)

2.2 tuplas

Primero mira 元组与listla diferencia

  • list La lista se puede modificar y está []representada por:
  • La tupla no se puede modificar una vez definida y ()representada por :tuple()

元组Escenarios de aplicación

  • Encapsular datos dentro del programa y不希望被篡改
  • Es algo similar al significado del modificador final de Java.

2.2.1 Definir tuplas

-> (1) Creado en circunstancias normales

# 1. 任意类型元素 创建
t1 = (1, "hello", True)
# 2. 空元组定义1
t2 = ()
# 3. 空元组定义2
t3 = tuple()
# 4. 定义一个元素
t4 = tuple("hello")

-> (2) Circunstancias especiales

t6 = ("hello")  

Nota: Lo que se representa aquí es una cadena,
se da una pista: 让删除括号
la forma correcta de escribirla es la siguiente (dos métodos)

método uno:
t5 = tuple("hello")
Método dos:
t7 = ("hello",)
Consulta de tipo integral
print(type(t4))
print(type(t5))
print(type(t6))  # <class 'str'> 不加tuple就必须加','
print(type(t7))

-> (3) definición de tupla anidada

t8 = ((1, 2, 3), (4, 5, 6))
print(type(t8))
# 输出结果: 6 写法
print(f"嵌套元组下标1,2 的 值是: {
      
      t8[1][2]}")

2.2.2 métodos API comunes para tuplas

Primero define una tupla t9

t9 = (1, 2, 3, 3, 5, 6)

-> (1) index() Encuentra el subíndice

print(t9.index(2))  # 2元素位置下标是1

-> (2) count() Consulta el número de elementos especificados

print(t9.count(3))  # 查看3有几个 2

-> (3) longitud de tupla de consulta len(elemento)

print(len(t9))  # 查看元组长度 6

2.2.3 Recorrido de bucle de tupla

-> (1) bucle while

print("\n上面元组语法基础  下面循环 ")
index = 0
while index < len(t9):
    print(t9[index])
    index += 1

-> (2) para bucle

for index in t9:
    print(index)

2.2.4 Casos especiales donde se pueden modificar tuplas

-> (1) Pruebe si la tupla realmente se puede modificar ( 报错)

t10 = (1, 2, 3, 3, 5, 6)
t10[0] = 999  # TypeError: 'tuple' object does not support item assignment

-> (2) Si la lista se puede modificar si se coloca dentro ( 可以)

Nota: 元组本身no se puede modificar
pero: los elementos dentro son 列表[]listas可以修改

t10 = (1, 2, [40, 50, 60])
t10[2][0] = 80
print(t10)  # (1, 2, [80, 50, 60]) 修改成功 元组嵌套的list可修改

2.3 Cadena

容器视角Interpretación de cuerdas

  • apoyo下标索引
  • Una cadena es un contenedor de caracteres y puede almacenar cualquier número de caracteres.
  • Solo se pueden almacenar cadenas y no se pueden modificar.

2.3.1 Definición de contenedor de cadenas

# 一个字符是一个元素
str1 = "zhangSan is a good boy"

2.3.2 API de uso común para contenedores de cadenas

->(1) index() encuentra el comienzo de la cadena

value = str1.index("is")
print(value)  # 9

->(2) reemplazar() reemplazo de cadena

str es inmutable y generará un nuevo objeto

str2 = str1.replace("a", "***")
print(str2)  # zh***ngS***n is *** good boy

->(3) división de cadenas split()

str2 = str1.split(" ")
print(str1)  # zhangSan is a good boy
print(str2)  # ['zhangSan', 'is', 'a', 'good', 'boy']

->(4) especificación de cadena strip()

Elimine los espacios antes y después de
la tira (elemento) de adelante hacia atrás 去掉空格并删除第一个元素
java es trim()

str0 = " a b c "
print(str0.strip())  # a b c
print(str0.strip("a "))  # b c 去除空格并删除输入的值(从前到后)

->(5) count() consulta el número de ocurrencias

str1 = "zhangSan is a good boy"
print(str1.count("o"))  # 3

->(6) longitud de la cadena de consulta len()

str1 = "zhangSan is a good boy"
print(len(str1))  # 22

3. Caso resumido de gramática básica

3.1 Caso básico de lista

3.1.1 Detalles del caso

Detalles del caso

  1. Declarar una lista de edades de los estudiantes
  2. agregar un elemento
  3. Añade un montón de elementos
  4. Saque un subíndice de edad y genere
  5. Saque un subíndice de edad al revés y genere
  6. Encuentre un subíndice correspondiente a una edad. Tenga en cuenta que se informa un error.
  7. generar la edad de cualquier subíndice
  8. Borrar lista de edades

3.1.2 Implementación del código

students_age_list = [10, 20, 30, 31, 31, 20]
print(students_age_list)
students_age_list.append(50)
print(students_age_list)
students_age_list.extend([29, 50, 60])
print(students_age_list)
print(students_age_list.pop(0))
print(students_age_list.pop(-1))
print(students_age_list.index(20))
print(students_age_list[0])
print(students_age_list.clear())  # None

4. Resumen y vista previa del artículo.

4.1 Resumen de este artículo:

  • La lista de listas define operaciones comunes
  • Operaciones comunes entre tuplas y listas.
  • Operaciones comunes desde la perspectiva del contenedor de cadenas

4.2 Vista previa a continuación:

4.2.0 Portal: dirección de columna de Python

4.2.1 Contenedor de datos básico 07-(porción de secuencia, colección, diccionario)

4.2.2 Caso completo para contenedores de datos



Autor pingzhuyan Gracias por mirar.

Supongo que te gusta

Origin blog.csdn.net/pingzhuyan/article/details/132640110
Recomendado
Clasificación