Python基础之dict和set的使用详解

yizhihongxing

Python基础之dict和set的使用详解

简介

在Python中,字典和集合是非常常用的数据结构,它们提供了快速的数据访问和查找。本文将详细讲解字典和集合的基本用法以及常用操作。

字典(dict)的使用

字典是一种无序可变的序列,使用键值对存储数据。在Python中,字典使用花括号{}表示,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }

基本操作

  1. 获取字典的长度

使用len()函数可以获取字典中键值对的数量,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
print(len(d)) # 输出:3
  1. 获取字典中的值

使用d[key]可以获取字典中指定键对应的值,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
print(d['name']) # 输出:Tom
  1. 修改字典中的值

使用d[key] = value可以修改字典中指定键对应的值,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
d['age'] = 20
print(d) # 输出:{ 'name': 'Tom', 'age': 20, 'gender': 'male' }
  1. 添加键值对

使用d[key] = value可以添加新的键值对,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
d['height'] = 170
print(d) # 输出:{ 'name': 'Tom', 'age': 18, 'gender': 'male', 'height': 170 }
  1. 删除键值对

使用del d[key]可以删除指定的键值对,例如:

d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
del d['gender']
print(d) # 输出:{ 'name': 'Tom', 'age': 18 }

示例说明

示例1:统计字符串中每个字符出现的次数

s = 'hello, world'
d = {}
for c in s:
    if c not in d:
        d[c] = 1
    else:
        d[c] += 1
print(d)

输出结果为:

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

示例2:计算列表中每个元素出现的次数

lst = [1, 2, 3, 4, 1, 2, 3, 1, 2, 1]
d = {}
for x in lst:
    if x not in d:
        d[x] = 1
    else:
        d[x] += 1
print(d)

输出结果为:

{1: 4, 2: 3, 3: 2, 4: 1}

集合(set)的使用

集合是一种无序不重复的序列,使用大括号{}表示。在Python中,集合除了提供常规的集合操作外,还支持数学中的集合运算。例如:

s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.union(s2)) # 输出:{1, 2, 3, 4}

基本操作

  1. 创建集合

可以通过构造函数set()将一个序列转换为一个集合,例如:

s = set([1, 2, 3])
print(s) # 输出:{1, 2, 3}
  1. 添加元素

使用add(x)可以向集合中添加一个元素x,例如:

s = set([1, 2, 3])
s.add(4)
print(s) # 输出:{1, 2, 3, 4}
  1. 删除元素

使用remove(x)可以从集合中删除一个元素x,例如:

s = set([1, 2, 3])
s.remove(2)
print(s) # 输出:{1, 3}

示例说明

示例1:查找两个列表中的共同元素

lst1 = [1, 2, 3, 4, 5]
lst2 = [3, 4, 5, 6, 7]
s1 = set(lst1)
s2 = set(lst2)
print(s1.intersection(s2))

输出结果为:

{3, 4, 5}

示例2:去除列表中的重复元素

lst = [1, 2, 3, 1, 2, 3, 4, 5, 4, 5]
s = set(lst)
lst2 = list(s)
print(lst2)

输出结果为:

[1, 2, 3, 4, 5]

结论

在实际编程中,字典和集合是非常实用的数据结构。掌握了这些数据结构的基本用法,可以大大提升代码的简洁性和效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基础之dict和set的使用详解 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python面经之16个高频面试问题总结

    Python面经之16个高频面试问题总结 在Python的面试中,有一些问题是经常被问到的。本文将总结16个高频面试问题,并提供详细的答和示例说明,帮助读者更好地准备面试。 1. Python中的GIL是什么? GIL(Global Interpreter)是Python解释器中的一个全局锁,它保证同一时刻只有一个线程在执行Python字节码。这意味着多程环…

    python 2023年5月13日
    00
  • 详解Python如何生成优雅的二维码

    详解Python如何生成优雅的二维码 二维码已成为一种常用的信息传递方式,Python 作为一门高效的编程语言,能够为我们生成优雅的二维码。本攻略将详细讲解如何使用 Python 生成优雅的二维码。 准备工作 在使用 Python 生成二维码前,需要先安装 PyQRCode 模块。可以使用 pip 在终端或命令行中轻松安装: pip install PyQR…

    python 2023年6月6日
    00
  • 如何在Python中更新SQLite数据库中的数据?

    以下是在Python中更新SQLite数据库中的数据的完整使用攻略。 更新SQLite数据库中的数据简介 在Python中,可以使用sqlite3模块连接SQLite数据库,并使用UPDATE语句更新数据。更新数据时,需要指要的表、要更新的列和要更新的值,以及更新条件。更新结果可以使用游标对象的rowcount属性获取。 步骤1:导入模块 在Python中,…

    python 2023年5月12日
    00
  • Python基础之数据类型详解

    Python基础之数据类型详解 Python是一种面向对象的编程语言,支持多种数据类型。在Python中,数据类型是指变量所代表的值的类型。Python中有以下几种常用的数据类型: 整数(int) 浮点数(float) 字符串(str) 布尔型(bool) 列表(list) 元组(tuple) 字典(dict) 集合(set) 整数类型(int) 在Pyth…

    python 2023年5月14日
    00
  • 自己编程中遇到的Python错误和解决方法汇总整理

    当我们在Python编程过程中,可能会遇到各种各样的错误,例如语法错误、逻辑错误、模块导入错误等。这些错误可能会导致程序无法正运行,因此我们需要及时解决这些错误。以下是自己编程中遇到的Python错误和解决方法的汇总整理: 1. TypeError 当我们在Python编程过程中遇到以下的报错: TypeError: unsupported operand …

    python 2023年5月13日
    00
  • Python实现克里金插值法的过程详解

    以下是关于“Python实现克里金插值法的过程详解”的完整攻略: 简介 克里金插值法是一种空间插值方法,它可以用于估计未知位置的值。在本教程中,我们将介绍克里金插值法的原理和实现方法,包括半方差函数、克里金方程、插值方法等。 半方差函数 半方差函数是克里金插值法的核心,它用于描述空间变量之间的相关性。半方差函数通常由一个参数和一个模型组成,参数用于调整相关性…

    python 2023年5月14日
    00
  • python实现自动抢课脚本的示例代码

    下面我将介绍如何使用Python编写自动抢课脚本的攻略。 1. 环境准备 首先,我们需要在本地安装selenium库以实现自动化操作浏览器的功能。可以使用以下命令进行安装: pip install selenium 同时,我们还需要一个浏览器驱动程序,以便在Python中通过selenium库来控制浏览器进行页面操作。 在这里以Google Chrome为例…

    python 2023年5月19日
    00
  • python列表的问题

    【问题标题】:problem with python listpython列表的问题 【发布时间】:2023-04-04 00:49:01 【问题描述】: 您好,我正在尝试创建一个列表,通过 for 循环从 txt 文件中逐行读取。我在列表中遇到语法错误,但不确定如何解决问题??? import re file = open(“text.txt”,”r”) …

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部