Python菜鸟教程:字典

前言

字典是Python中一种常用的数据结构,用于存储键值对(key-value pairs)。字典是可变的,可以动态地添加、删除和修改其中的元素。

1、字典的特点

1)字典中的每个元素由一个键(key)和一个值(value)组成,键和值之间使用冒号(:)分隔。

2)键必须是唯一的,而值则可以是任意类型的对象。

3)字典中的元素是无序的,即不能通过索引来访问。

4)字典的创建方式有两种常用的方法:使用花括号({})和使用内置函数dict()。

字典的基本概念:

# 创建一个空字典
empty_dict = {}
print(empty_dict)  # 输出: {}

# 创建一个包含键值对的字典
person = {'name': 'John', 'age': 30, 'city': 'New York'}
print(person)  # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}

# 使用dict()函数创建字典
car = dict(brand='Toyota', model='Camry', year=2020)
print(car)  # 输出: {'brand': 'Toyota', 'model': 'Camry', 'year': 2020}

2、字典中键和值的数据类型

键(key)可以是任意不可变的数据类型,如字符串、整数、浮点数、元组等。

值(value)可以是任意数据类型,包括不可变类型和可变类型。

示例:

# 字符串作为键
person = {'name': 'John', 'age': 30, 'city': 'New York'}

# 整数作为键
scores = {1: 90, 2: 85, 3: 95}

# 元组作为键
student = {('John', 'Doe'): 12345, ('Jane', 'Smith'): 67890}

# 列表作为值
grades = {'math': [90, 85, 95], 'english': [80, 75, 85]}

# 字典作为值
info = {'person': {'name': 'John', 'age': 30}}

需要注意的是,字典的键必须是不可变的,因为字典中使用键来进行哈希(hash)操作,以快速查找和访问对应的值。因此,列表和字典等可变类型不能作为键。

对于值,可以是任意数据类型,包括不可变类型和可变类型。可以使用字典中的键来访问对应的值,

例如:

person['name']  #可以获取到字典person中键为'name'的值。
print(person['name'])  # 输出: John
print(scores[1])  # 输出: 90
print(student[('John', 'Doe')])  # 输出: 12345
print(grades['math'])  # 输出: [90, 85, 95]
print(info['person']['name'])  # 输出: John

字典中键和值的灵活性使得它成为一种非常强大的数据结构,可以用于各种不同的应用场景。

3、字典的基本操作

1)创建字典

可以使用花括号{}来创建一个空字典,也可以使用键值对的方式初始化一个字典。例如:

empty_dict = {}
empty_dict = dict()

person = {'name': 'John', 'age': 30, 'city': 'New York'}

2)访问字典中的值

可以使用键来访问字典中的值。例如:

print(person['name'])  # 输出: John
print(person['age'])   # 输出: 30

注意,如果键不存在,使用索引方式会抛出KeyError异常,而使用get方法则会返回None或者指定的默认值。

3)修改字典中的值

可以通过键来修改字典中的值。例如:

person['age'] = 31
print(person)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York'}

4)添加键值对

可以通过赋值的方式添加新的键值对。例如:

person['gender'] = 'Male'
print(person)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York', 'gender': 'Male'}

5)删除键值对

可以使用del关键字来删除字典中的键值对。例如:

del person['city']
print(person)  # 输出: {'name': 'John', 'age': 31, 'gender': 'Male'}

6)遍历字典

可以使用for循环遍历字典中的键值对。例如:

for key, value in person.items():
    print(key, value)

7)判断键是否存在

可以使用in关键字来判断字典中是否存在指定的键。例如:

if "name" in student:
    print("Name exists")

4、字典应用示例:

1)编写一个学生管理系统,其中每个学生都有一个唯一的学号,并且需要存储学生的姓名和成绩。我们可以使用字典来表示每个学生的信息。

students = {}

def add_student(student_id, name, score):
    students[student_id] = {'name': name, 'score': score}

def get_student(student_id):
    return students.get(student_id)

def update_score(student_id, new_score):
    if student_id in students:
        students[student_id]['score'] = new_score

def delete_student(student_id):
    if student_id in students:
        del students[student_id]

我们使用一个空字典students来存储学生信息。add_student函数用于添加学生信息,get_student函数用于获取学生信息,update_score函数用于更新学生的成绩,delete_student函数用于删除学生信息。

通过使用字典,我们可以方便地管理学生的信息,并且可以根据学号快速查找和操作学生的信息。

2)一个简单的字典项目实例,它可以让用户查找英语单词的意思。

首先,我们需要一个包含单词和其对应意思的字典。我们可以使用Python的字典数据结构来实现这个功能。

dictionary = {
    "apple": "苹果",
    "banana": "香蕉",
    "cat": "猫"
}

接下来,我们可以编写一个函数来实现用户输入单词并返回其对应的意思。这个函数可以使用字典的get()方法来查找单词的意思。如果找不到对应的意思,函数会返回一个默认值。

def lookup_word(word):
    return dictionary.get(word, "对不起,找不到这个单词的意思。")

现在,我们可以编写一个简单的用户界面来使用这个函数。用户可以输入一个单词,然后我们会显示其对应的意思。

while True:
    user_input = input("请输入一个单词(输入q退出):")
    if user_input == "q":
        break
    meaning = lookup_word(user_input)
    print(f"{user_input}的意思是:{meaning}")

代码中,我们使用一个无限循环来不断接收用户输入。如果用户输入了"q",循环会结束,程序退出。否则,我们会调用lookup_word()函数来查找输入单词的意思,并将结果打印出来。

通过这个实例,我们可以学习如何使用字典来存储和查找数据,并了解如何编写一个简单的用户界面来与用户进行交互。

在这里插入图片描述

-END-


一、Python入门

下面这些内容是Python各个应用方向都必备的基础知识,想做爬虫、数据分析或者人工智能,都得先学会他们。任何高大上的东西,都是建立在原始的基础之上。打好基础,未来的路会走得更稳重。所有资料文末免费领取!!!

包含:

计算机基础

在这里插入图片描述

python基础

在这里插入图片描述

Python入门视频600集:

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

二、Python爬虫

爬虫作为一个热门的方向,不管是在自己兼职还是当成辅助技能提高工作效率,都是很不错的选择。

通过爬虫技术可以将相关的内容收集起来,分析删选后得到我们真正需要的信息。

这个信息收集分析整合的工作,可应用的范畴非常的广泛,无论是生活服务、出行旅行、金融投资、各类制造业的产品市场需求等等,都能够借助爬虫技术获取更精准有效的信息加以利用。

在这里插入图片描述

Python爬虫视频资料

在这里插入图片描述

三、数据分析

清华大学经管学院发布的《中国经济的数字化转型:人才与就业》报告显示,2025年,数据分析人才缺口预计将达230万。

这么大的人才缺口,数据分析俨然是一片广阔的蓝海!起薪10K真的是家常便饭。

在这里插入图片描述

四、数据库与ETL数仓

企业需要定期将冷数据从业务数据库中转移出来存储到一个专门存放历史数据的仓库里面,各部门可以根据自身业务特性对外提供统一的数据服务,这个仓库就是数据仓库。

传统的数据仓库集成处理架构是ETL,利用ETL平台的能力,E=从源数据库抽取数据,L=将数据清洗(不符合规则的数据)、转化(对表按照业务需求进行不同维度、不同颗粒度、不同业务规则计算进行统计),T=将加工好的表以增量、全量、不同时间加载到数据仓库。

在这里插入图片描述

五、机器学习

机器学习就是对计算机一部分数据进行学习,然后对另外一些数据进行预测与判断。

机器学习的核心是“使用算法解析数据,从中学习,然后对新数据做出决定或预测”。也就是说计算机利用以获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。

在这里插入图片描述

机器学习资料:

在这里插入图片描述

六、Python高级进阶

从基础的语法内容,到非常多深入的进阶知识点,了解编程语言设计,学完这里基本就了解了python入门到进阶的所有的知识点。

在这里插入图片描述

到这就基本就可以达到企业的用人要求了,如果大家还不知道去去哪找面试资料和简历模板,我这里也为大家整理了一份,真的可以说是保姆及的系统学习路线了。

在这里插入图片描述
但学习编程并不是一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

资料领取

这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以点击下方CSDN官方认证微信卡片免费领取 ↓↓↓【保证100%免费】

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49892805/article/details/134614205
今日推荐