python基础入门之字典和集合

Python中的字典(Dictionary)和集合(Set)是常用的数据类型之一。它们非常灵活,能够快速地存储大量的数据,并且可以通过键值对的方式来进行快速的检索和访问。

一、字典

字典是一种可变的数据类型,它的数据结构类似于映射:每个键值对都由一个键和一个与之对应的值组成。

1. 创建字典

可以使用{}dict()函数来创建一个字典:

# {}创建一个空字典
my_dict = {}
# 或使用dict()函数创建一个空字典
my_dict = dict()

# 创建一个包含键值对的字典
my_dict = {"name": "Lucy", "age": 25}

2. 字典的访问和更新

可以通过键来访问字典中的值,如果该键不存在,则会抛出KeyError异常。

my_dict = {"name": "Lucy", "age": 25}

# 访问字典中的值
print(my_dict["name"])  # 输出 Lucy

# 更新字典中的值
my_dict["age"] = 26
print(my_dict)  # 输出 {'name': 'Lucy', 'age': 26}

3. 字典的遍历

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

my_dict = {"name": "Lucy", "age": 25}

# 遍历字典中的键值对
for key, value in my_dict.items():
    print(key, value)
    # 输出 name Lucy
    # 输出 age 25

4. 字典的推导式

可以使用字典推导式来快速创建一个字典。

# 创建一个包含1~5的平方的字典
my_dict = {n: n**2 for n in range(1, 6)}

print(my_dict)  # 输出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

5. 示例说明

下面是一个使用字典来统计单词出现次数的示例:

# 统计字符串中单词出现的次数
text = "this is a line of text. it is not a very long text, but it is still a good text."
word_count = {}

# 将字符串分割为单词,并统计出现次数
for word in text.split():
    if word not in word_count:
        word_count[word] = 1
    else:
        word_count[word] += 1

# 输出单词出现的次数
for word, count in word_count.items():
    print(word, count)
    # 输出:
    # this 1
    # is 2
    # a 3
    # line 1
    # of 1
    # text. 1
    # it 2
    # not 1
    # very 1
    # long 1
    # text, 1
    # but 1
    # still 1
    # good 1
    # text. 1

二、集合

集合是一种无序且不可重复的数据类型,它的元素必须是可哈希(hashable)的,即不可变的数据类型。

1. 创建集合

可以使用set()函数或{}创建一个空集合,或者使用set()函数来创建一个包含元素的集合。

# 创建一个空集合
my_set = set()
# 或者使用{}创建一个空集合
my_set = {}

# 创建一个包含元素的集合
my_set = set([1, 2, 3])

2. 集合的添加和删除

可以使用add()方法来向集合中添加元素,使用remove()方法或discard()方法来删除集合中的元素。

my_set = set([1, 2, 3])

# 向集合中添加元素
my_set.add(4)
print(my_set)  # 输出 {1, 2, 3, 4}

# 从集合中删除元素
my_set.remove(1)
print(my_set)  # 输出 {2, 3, 4}

3. 集合的运算

可以使用集合的交、并、差、对称差等运算来操作集合。

set1 = set([1, 2, 3])
set2 = set([2, 3, 4])

# 集合的交
print(set1 & set2)  # 输出 {2, 3}

# 集合的并
print(set1 | set2)  # 输出 {1, 2, 3, 4}

# 集合的差
print(set1 - set2)  # 输出 {1}

# 集合的对称差
print(set1 ^ set2)  # 输出 {1, 4}

4. 集合的推导式

可以使用集合推导式来快速创建一个集合。

# 创建一个包含1~5的平方的集合
my_set = {n**2 for n in range(1, 6)}

print(my_set)  # 输出 {1, 4, 9, 16, 25}

5. 示例说明

下面是一个使用集合来统计单词出现次数的示例:

# 统计字符串中不重复的单词数
text = "this is a line of text. it is not a very long text, but it is still a good text."

# 将字符串分割为单词,并转化为集合
words = set(text.split())

# 输出单词数
print(len(words))  # 输出 13

这里创建了一个包含所有单词的集合,然后直接使用len()函数来计算集合的大小。这个方法并不能统计单词的出现次数,但是可以用来快速地统计不重复的单词数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础入门之字典和集合 - Python技术站

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

相关文章

  • 日历控件和天气使用分享

    那我就来详细讲解一下“日历控件和天气使用分享”的完整攻略。这个攻略中,主要包含以下几个部分: 日历控件的使用 天气API的使用 将日历和天气结合使用 接下来我会逐个进行说明。 日历控件的使用 日历控件是一个可以帮助用户查看并选择日期的工具,通常会在网站或APP中被使用。在HTML中,我们可以使用<input type=”date”>来创建一个日历…

    python 2023年6月3日
    00
  • python脚本开机自启的实现方法

    当我们需要让Python脚本在开机时自启动,可以使用以下两种方法实现: 方法一:使用init.d服务 创建一个service文件 首先需要创建一个service文件,其中包含运行脚本的命令及其他相关信息,如下: #!/bin/bash ### BEGIN INIT INFO # Provides: my_python_script # Required-St…

    python 2023年5月19日
    00
  • python+PyQT实现系统桌面时钟

    下面是关于“python+PyQT实现系统桌面时钟”的完整攻略。 准备工作 在PyQT5中,可以使用QTimer类和QLabel类来创建一个实时更新的系统桌面时钟。需要借助Python中的datetime模块获取当前时间,使用PyQT5中的QLabel类来实时显示时间,使用QTimer类来定时器更新时间。在实现时钟前,需要有一些必要的准备工作,如安装所需的依…

    python 2023年6月3日
    00
  • 创建一个充满所有零的Numpy数组

    创建一个充满所有零的Numpy数组的完整攻略如下: 步骤1:导入Numpy库 在使用Numpy创建数组之前,需要导入Numpy库。 import numpy as np 步骤2:使用np.zeros()函数创建全零数组 使用np.zeros()函数可以创建一个全零数组,函数的参数可以指定数组的形状,可以是一个整数,也可以是一个元组。 # 创建一个长度为5的全…

    python-answer 2023年3月25日
    00
  • 详解Python核心对象类型字符串

    以下是详解Python核心对象类型字符串的完整攻略: 字符串的定义 在Python中,字符串是一种不可变的序列类型,用于表示文本数据。字符串可以使用单引号、双引号或三引号来定义。以下是一些示例代码: s1 = ‘Hello, World!’ s2 = "Hello, World!" s3 = ”’Hello, World!”’ 在这个…

    python 2023年5月14日
    00
  • 一起来了解python的基本输入和输出

    一起来了解Python的基本输入和输出 什么是Python输入和输出 Python输入和输出是Python程序中必不可少的部分,主要用于程序的交互。 Python的标准输入主要来自于input()函数,标准输出主要来自于print()函数。 如何使用input()函数 input()函数主要用于获取用户从标准输入中输入的数据。函数的使用方式如下: varia…

    python 2023年6月5日
    00
  • Python群发邮件实例代码

    当我们需要向多个人发送相同内容的邮件时,手动逐一发送邮件显然是一件非常繁琐的事情。Python的smtplib和email库提供了一种便捷的方式来群发邮件,需要我们完成以下步骤: 1.准备收件人邮箱信息和邮件正文信息。 2.使用smtplib库连接邮件服务器,认证登录账号。 3.创建EmailMessage对象,设置邮件标题、发送者、正文等信息。 4.发送邮…

    python 2023年6月3日
    00
  • Python任意字符串转16, 32, 64进制的方法

    以下是Python任意字符串转16进制、32进制、64进制的方法攻略: 将字符串转为16进制 可以使用Python的内置模块binascii中的b2a_hex()函数将字符串转成16进制。具体实现过程如下: import binascii # 将字符串转化为16进制 s = ‘hello world’ hex_str = binascii.b2a_hex(s…

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