Python四大金刚之字典详解

  • Post category:Python

Python四大金刚之字典详解

什么是字典

字典是Python中的一种高效的数据结构,可以用于存储键值对。字典使用大括号 {} 进行定义,其中每个键值对之间用冒号 : 分隔,键值对之间用逗号 , 分隔。键必须唯一且不可变,可以是字符串、数字或元组等类型,而值可以是任何类型。

字典的基本操作

创建字典

可以通过键值对方式创建字典,示例代码如下:

dict1 = {'name': 'Jack', 'age': 18, 'gender': 'male'}
dict2 = dict([('name', 'Lily'), ('age', 20), ('gender', 'female')])

访问字典元素

可以通过键名访问字典元素,示例代码如下:

print(dict1['name'])
print(dict2.get('age'))

添加或更新字典元素

可以通过键名直接添加或更新字典元素,示例代码如下:

dict1['email'] = 'jack@example.com'
dict2.update({'email': 'lily@example.com'})

删除字典元素

可以使用 del 关键字删除字典元素,示例代码如下:

del dict1['gender']
dict2.pop('age')

字典的高级操作

字典推导式

字典推导式可以根据某种规则快速生成一个字典,示例代码如下:

keys = ['a', 'b', 'c']
values = [1, 2, 3]
dict3 = {key: value for key, value in zip(keys, values)}

字典内置方法

字典内置方法可以方便地进行字典的相关操作,包括:

  • keys():返回字典中所有键的列表
  • values():返回字典中所有值的列表
  • items():返回字典中所有键值对的元组列表
  • clear():清空字典
  • copy():复制字典
  • len():返回字典中元素的个数

示例代码如下:

print(dict1.keys())
print(dict2.values())
print(dict3.items())
dict2.clear()
dict4 = dict1.copy()
print(len(dict4))

示例说明

示例一:字典实现学生成绩管理系统

下面是一个简单的学生成绩管理系统,可以添加学生信息、查询学生信息、修改学生信息和删除学生信息等操作:

# 定义学生信息字典
student_dict = {}

while True:
    print('--------学生成绩管理系统--------')
    print('1.添加学生信息')
    print('2.查询学生信息')
    print('3.修改学生信息')
    print('4.删除学生信息')
    print('5.退出系统')
    choice = input('请选择操作:')

    if choice == '1':
        # 添加学生信息
        name = input('请输入学生姓名:')
        score = input('请输入学生成绩:')
        student_dict[name] = score
        print('添加学生信息成功!')

    elif choice == '2':
        # 查询学生信息
        name = input('请输入学生姓名:')
        score = student_dict.get(name)
        if score:
            print('{}的成绩是:{}'.format(name, score))
        else:
            print('该学生不存在!')

    elif choice == '3':
        # 修改学生信息
        name = input('请输入学生姓名:')
        score = student_dict.get(name)
        if score:
            new_score = input('请输入新的学生成绩:')
            student_dict[name] = new_score
            print('修改学生信息成功!')
        else:
            print('该学生不存在!')

    elif choice == '4':
        # 删除学生信息
        name = input('请输入学生姓名:')
        score = student_dict.get(name)
        if score:
            del student_dict[name]
            print('删除学生信息成功!')
        else:
            print('该学生不存在!')

    elif choice == '5':
        # 退出系统
        break

    else:
        print('无效的操作!')

示例二:字典实现单词计数器

下面是一个简单的单词计数器,可以统计一段文本中不同单词的出现次数:

# 定义文本字符串
text = '''Python is a popular programming language. 
It is used for web development, scientific computing, and machine learning. 
Python is easy to learn and has readable syntax.'''

# 统计单词数量
word_count = {}
words = text.lower().split()
for word in words:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

# 输出结果
for word, count in word_count.items():
    print('{}: {}'.format(word, count))

运行结果如下:

python: 2
is: 2
a: 1
popular: 1
programming: 1
language.: 1
it: 2
used: 1
for: 1
web: 1
development,: 1
scientific: 1
computing,: 1
and: 1
machine: 1
learning.: 1
easy: 1
to: 1
learn: 1
has: 1
readable: 1
syntax.: 1

以上就是Python四大金刚之字典详解的完整攻略。