Aprendizaje basado en cero Python | Aprendizaje avanzado de Python quinto día

​ Página de inicio del autor: Brújula de programación

Sobre el autor: creador de alta calidad en el campo de Java, experto en blogs de CSDN
, socio de contenido de CSDN, autor invitado de Nuggets, experto en blogs de Alibaba Cloud, autor invitado de 51CTO, muchos años de experiencia en diseño de arquitectos, profesor residente del aula Tencent

Contenido principal: proyecto Java, proyecto Python, proyecto front-end, inteligencia artificial y big data, plantilla de currículum, materiales de aprendizaje, banco de preguntas de entrevistas, asistencia técnica mutua

Favoritos, me gusta, no te pierdas, es bueno seguir al autor.

Obtenga el código fuente al final del artículo.

1. Diccionario

Un diccionario es similar a una lista y también es una secuencia variable, pero está desordenado y almacena datos en forma de pares clave-valor, lo cual es similar a la colección Map en Java.

La clave del diccionario es única e inmutable. Se pueden usar números, cadenas o tuplas como claves, pero las listas no se pueden usar como claves.

1.1 Creación y eliminación de diccionarios

Sintaxis básica para la creación de diccionarios:

dictionary = {
    
    'key':value,'key1':value1,....'keyn':valuen}

Creación de un diccionario vacío:

dictionary = {
    
    }
dictionary = dict()

Además de crear un diccionario vacío, la función dict() también puede crear rápidamente un diccionario a partir de datos existentes. Existen principalmente dos formas:

1. Cree una tabla de diccionario a través de la función de mapeo.

dictionary = dict(zip(list1,list2))
* dictionary 为字典名
* zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。如果想得到元组,可以使用tuple()函数将zip对象转换为元组;如果想得到列表,则可以使用list()函数将其转换为列表。
* list1:一个列表,用于指定要生成字典的键
* list2:一个列表,用于指定要生成字典的值
* 返回值:如果list1和list2长度不同,则与最短的列表长度相同

Ejemplo:

#示例1  通过dict()进行字典创建
name = ['马丽','沈腾','岳云鹏']  #作为键的列表
sign = ['喜剧','小品','相声'] #作为值的列表
dictionary = dict(zip(name,sign)) #转换为字典
print(dictionary)

2. Cree un diccionario con un par clave-valor determinado

dictionary = dict(key1=value1,key2=value2,...keyn=valuen)
* dictionary 为字典名
* key1、key2...keyn:表示元素的键,必须是唯一的,并且不可变,可以是字符串、数字或元组。
* value1、value2..valuen:表示元素的值,可以是任何数据类型,不是必须唯一。

Ejemplo:

dictionary = dict(邓肯='石佛',吉诺比利='妖刀',帕克='跑车')
print(dictionary)

Esta comida también puede crear un diccionario vacío mediante el método fromkeys del objeto dict:

dictionary = dict.fromkeys(list1)
* dictionary 表示字典名称
* list1 作为字典的键的列表

Ejemplo:

name_list =['邓肯','吉诺比利','帕克']
dictionary = dict.fromkeys(name_list)
print(dictionary)

Alternativamente, se pueden crear diccionarios a partir de tuplas y listas existentes:

name_tuple =('邓肯','吉诺比利','帕克')
sign = ['石佛','妖刀','跑车']
dict1 = {name_tuple:sign}
print(dict1)

Pensamiento: si se invierte el ejemplo anterior, ¿es viable utilizar la lista como clave y la tupla como valor?

Eliminación del diccionario:

del dictionary

Diccionario vacío: vacíe los elementos del diccionario en un diccionario vacío

dictionary.clear()

1.2 Acceder a diccionarios a través de pares clave-valor

dictionary = {'邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
print(dictionary['帕克'])

De esta forma, si la CLAVE no existe, se informará una excepción.

Se puede resolver juzgando:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
if '帕克' in list(dictionary.keys()):
   print(dictionary['帕克'])
else:
   print('查无此人')

Se recomienda el método get en Python para resolver este tipo de problemas:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
print(dictionary.get('帕克','查无此人'))

1.3 Atravesando el diccionario

Puede obtener todos los pares clave-valor del diccionario a través del método items() del diccionario y luego extraerlos cíclicamente:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
for item in dictionary.items():
   print(item)

Si desea obtener la CLAVE y el VALOR de cada par clave-valor con más detalle:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
for key,value in dictionary.items():
   print(key,'绰号是',value)

El objeto de diccionario también proporciona valores () y claves () para obtener los valores y claves del diccionario, y luego recorrer para obtener:

dictionary = {'邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
for key in dictionary.keys():
    print('key:',key)
    print('value:',dictionary.get(key,'查无此人'))
dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
for value in dictionary.values():
   print(value)

1.4 Agregar, modificar y eliminar elementos

Los diccionarios son secuencias mutables, por lo que se les pueden agregar 'pares clave-valor' en cualquier momento según sea necesario.

dictionary[key]=value

Ejemplo:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
dictionary['乔丹']='飞人'
print(dictionary)

Puede modificar el valor de la clave existente: la clave es única y el valor agregado sobrescribirá el valor anterior

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
dictionary['邓肯']='大佛'
print(dictionary)

Puede utilizar del para eliminar el valor clave:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
del dictionary['邓肯']
print(dictionary)

Si elimina un valor clave que no existe, se informará un error y podrá juzgar el procesamiento:

dictionary = {
    
    '邓肯':'石佛','吉诺比利':'妖刀','帕克':'跑车'}
if '邓肯' in dictionary:
   del dictionary['邓肯']
print(dictionary)

1.5 Comprensión del diccionario

Utilice la comprensión del diccionario para generar rápidamente un diccionario.

import random
randomdict = {
    
    i:random.randint(10,100) for i in range(1,5)}
print('生成的字典为:',randomdict)

producción:

生成的字典为: {1: 39, 2: 49, 3: 74, 4: 43}

dos, colección

Los conjuntos se utilizan para almacenar elementos no pesados. Está desordenado. Tiene dos tipos: conjunto variable (set) y conjunto inmutable (frozenset). En esta ocasión solo hablamos de set, que en realidad es muy similar al conjunto de Java. Su principal escenario de aplicación es guardar una serie de datos de elementos únicos.

2.1 Creación de colección

1. Utilice { } directamente para crear:

setname = {element1,element2,....elementn}

Los tipos de elementos de colección no están restringidos:

set1 = {'str1','str2','str3'}
set2 = {1,2,3,4,5,6}
set3 = {'Python',30,('人生苦短','我学Python')}

2. Utilice la función set() para crear una colección.

setname = set(iteration)
* setname  集合名字
* iteartion 可迭代的对象,比如:列表、元组、range对象等,如果是字符串,则返回包含不重复的字符集合

Ejemplo:

set1 = set('命运给我们的不是失望之酒,而是希望之杯。')
set2 = set([1.45,3.22,4,6])
set3 = set(('人生苦短','我学Python'))
print(set1)
print(set2)
print(set3)

En Python, se recomienda utilizar set() para crear colecciones.

Si está creando una colección vacía, solo puede usar set() en lugar de {}, porque {} se usa para crear un diccionario vacío.

2.2 Adición y eliminación de colecciones.

Adiciones a la colección:

setname.add(element)
* 添加的元素只能是数字、字符串或布称类型的True和False,不能使用列表、元组等可迭代对象

Ejemplo:

set1 = {'str1','str2','str3'}
set1.add('str4')
print(set1)

Eliminación de colección:

Puede eliminar una colección completa con del o eliminar elementos con pop() y remove(). Las colecciones también se pueden vaciar usando clear().

#示例 集合的删除
set1 = {
    
    'str1','str2','str3'}
set1.remove('str3')  #移除指定的元素
set1.pop()   #移除集合左边第一个
print(set1)

2.3 Operaciones de intersección, unión y diferencia de conjuntos

La operación de intersección utiliza el símbolo '&', que se utiliza para calcular las partes repetidas de dos conjuntos.

La operación de unión usa '|' para calcular la unión de dos conjuntos (eliminar duplicados)

La operación de diferencia utiliza '-' para eliminar elementos que ambos lados tienen

Ejemplo:

set1 = {
    
    'java','python','c++'}
set2 = {
    
    'python','html','css'}
print('交集运算:',set1&set2)
print('并集运算:',set1|set2)
print('差集运算:',set1-set2)

Resultado de salida:

交集运算: {'python'}
并集运算: {'python', 'html', 'c++', 'java', 'css'}
差集运算: {'c++', 'java'}

Hasta ahora se han explicado listas, tuplas, diccionarios y conjuntos de secuencias. Resumamos sus diferencias:

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/whirlwind526/article/details/132376801
Recomendado
Clasificación