python字典应用例子5个

​让我们来看看五个不同的Python字典使用场景的小例子,每个例子都包括代码、分析以及期望的输出。

例子1: 字典用于存储电影评分

# 电影评分字典
movie_ratings = {
    'The Godfather': 9.2,
    'The Shawshank Redemption': 9.3,
    'The Dark Knight': 9.0,
}

# 打印每部电影及其评分
for movie, rating in movie_ratings.items():
    print(f"{movie}: {rating}")

# 输出
# The Godfather: 9.2
# The Shawshank Redemption: 9.3
# The Dark Knight: 9.0

代码分析:此代码创建了一个名为 movie_ratings 的字典,用于存储电影及其对应的评分。然后,使用一个for循环遍历字典,打印每部电影的名称和评分。

例子2: 字典用于计算字符频率

# 文本字符串
text = "hello world"

# 计算字符频率
char_frequency = {}
for char in text:
    if char not in char_frequency:
        char_frequency[char] = 0
    char_frequency[char] += 1

print(char_frequency)

# 输出
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}

代码分析:此例中,我们用字典来计算字符串中每个字符的出现次数。遍历文本中的每个字符,如果字符不在字典中,就添加它并初始化计数为0,然后增加该字符的计数。

例子3: 使用字典存储学生的成绩

# 学生成绩字典
grades = {
    'Alice': 88,
    'Bob': 76,
    'Eve': 92,
}

# 添加一个学生
grades['Charlie'] = 85

# 获取Eve的成绩
print(f"Eve's grade: {grades['Eve']}")

# 输出
# Eve's grade: 92

代码分析:这段代码展示了如何使用字典存储和操作学生成绩数据。首先,创建一个包含初始成绩的字典,然后添加一个新学生的成绩。接着,展示了如何通过学生姓名作为键来访问特定学生的成绩。

例子4: 字典内嵌列表,实现多功能电话簿

# 多功能电话簿
contacts = {
    'Alice': ['555-1234', 'alice@example.com'],
    'Bob': ['555-5678', 'bob@example.com'],
}

# 添加联系方式
contacts['Charlie'] = ['555-0000', 'charlie@example.com']

# 打印电话簿
for name, info in contacts.items():
    print(f"{name}: Phone: {info[0]}, Email: {info[1]}")

# 输出
# Alice: Phone: 555-1234, Email: alice@example.com
# Bob: Phone: 555-5678, Email: bob@example.com
# Charlie: Phone: 555-0000, Email: charlie@example.com

代码分析:此例展示了一个更复杂的数据结构,字典中的每个键(联系人名称)关联一个列表,列表包含电话号码和电子邮件地址。然后遍历字典,打印出每个联系人的信息。

例子5: 字典用于实现单词翻译功能

# 英汉词典
dictionary = {
    'apple': '苹果',
    'banana': '香蕉',
    'orange': '橙子',
}

# 翻译单词
word = 'apple'
print(f"The Chinese for '{word}' is '{dictionary[word]}'.")

# 输出
# The Chinese for 'apple' is '苹果'.

代码分析:在这个简单的英汉词典例子中,字典被用来存储单词及其对应的中文翻译。然后,可以通过查询字典来翻译特定的单词。

这些例子展示了Python字典的多样性和灵活性,从简单的数据存储到复杂的数据结构应用都能轻松处理。

区别:
Python中的字典(Dictionary)和列表(List)是两种不同的数据结构,它们有一些显著的区别:

  1. 数据结构:

    • 字典是一种无序的数据集合,其中的元素是通过键来索引的,每个键与一个值关联。
    • 列表是一种有序的数据集合,其中的元素可以通过索引来访问,索引从0开始。
  2. 索引方式:

    • 字典中的元素是通过键来索引的,键可以是任意不可变的数据类型,例如整数、字符串或元组。
    • 列表中的元素是通过位置(索引)来索引的,索引必须是非负整数。
  3. 可变性:

    • 字典是可变的,可以添加、删除或修改元素。
    • 列表也是可变的,可以通过索引来修改、添加或删除元素。
  4. 存储方式:

    • 字典以键-值对的形式存储数据,每个键都是唯一的,而值可以重复。
    • 列表以连续的内存块存储数据,每个元素都有一个对应的位置索引。
  5. 性能:

    • 字典的查询操作(通过键查找值)比列表更快,因为字典使用了哈希表来实现,查找时间复杂度为 O(1)。
    • 列表的索引操作(通过位置查找元素)比字典更快,因为列表的元素是连续存储的,索引时间复杂度为 O(1)。

根据具体的需求,选择使用字典还是列表,通常取决于数据的组织方式和对数据的操作需求。如果需要按照键来检索、添加或删除元素,则使用字典更合适;如果需要有序存储并按照位置访问元素,则使用列表更合适。

了解更多python项目开发,请关注我:Python提升课堂

  • 39
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值