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

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中的localtime()方法使用详解

    Python中的localtime()方法使用详解 简介 Python time 模块中的 localtime() 方法可以将时间戳转换为本地时间表示的时间元组,时间元组包含了年月日时分秒等信息。 方法语法 time.localtime([secs]) 参数说明: secs:可选参数,代表计算机当地的时间戳。如果未提供这个参数,则返回当前本地时间的时间元组。…

    python 2023年6月3日
    00
  • Python input()函数案例教程

    下面就是Python input()函数案例教程的完整攻略。 1. 什么是input()函数 input()函数是Python内置函数之一,用于从标准输入读取一行文本,并返回为字符串类型。通俗点说,就是可以获取用户在终端上的输入。 2. input()函数的基本使用 input()函数的基本语法格式如下: input([prompt]) 其中,可选参数pro…

    python 2023年6月5日
    00
  • python request post 列表的方法详解

    以下是“Python request post列表的方法详解”的完整攻略。 1. Python request post方法概述 在Python中,使用requests库可以发送HTTP请求。其中,post方法用于向指定的URL发送POST请求。本文将详讲解何使用post方法发送包含列表的请求。 2. Python request post方法发送包含列表的…

    python 2023年5月13日
    00
  • 详解Python3除法之真除法、截断除法和下取整对比

    详解Python3除法之真除法、截断除法和下取整对比 Python3中的除法 Python3中的除法有三种类型:真除法、截断除法和下取整。 真除法 真除法是Python3中默认的除法方式,它使用的是单斜线(/)符号。当我们进行两个数字的除法时(比如 3 / 2),真除法会给出精确的结果(1.5),不会直接进行截断。 示例: >>> 3 / …

    python 2023年6月3日
    00
  • Windows下Python2与Python3两个版本共存的方法详解

    Windows下Python2与Python3两个版本共存的方法详解 背景 有些Python开发者需要同时使用Python2和Python3两个版本,但是默认情况下在Windows上只能安装一个Python版本。该文将详细讲解如何在Windows系统上同时安装Python2和Python3。 方法 首先,下载Python2版本的安装包和Python3版本的安…

    python 2023年5月14日
    00
  • Python Word文件自动化实战之简历筛选

    让我来为你讲解“Python Word文件自动化实战之简历筛选”的完整攻略。 一、前置条件与准备工作 在进行Word文件自动化实战之前,需要具备以下前置条件: 具有Python基础知识,包括Python基本语法、流程控制、函数、模块等基本知识; 熟悉Python操作Word的相关库,如python-docx、pywin32等; 掌握Word文件的基本操作,如…

    python 2023年6月5日
    00
  • python安装Scrapy图文教程

    下面是“Python安装Scrapy图文教程”的完整攻略。 1、安装Python 首先,你需要安装Python,推荐使用最新版本的Python 3.x。你可以从官网(https://www.python.org/downloads/)下载最新版本的Python。 2、安装pip pip是Python的包管理工具,使用pip可以方便地安装第三方库。在安装Pyt…

    python 2023年5月14日
    00
  • python ip正则式

    以下是详细讲解“Python IP正则表达式”的完整攻略,包括IP地址的格式、IP地址的正则表达式、以及两个示例说明。 IP地址的格式 IP地址是指互网协议地址是用于标识互联网上的设备的数字标识。IP地址通常由四个十进制数组成,每数的取值范围是0到255,中间用点号分隔。例如,192.168.1.1就是一个IP地址。 IP地址的正则表达式 在Python中,…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部