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日

相关文章

  • Python实现自动化处理Word文档的方法详解

    Python实现自动化处理Word文档的方法详解 本篇攻略主要介绍如何利用Python实现自动化处理Word文档的方法,包括读取和编辑Word文档、替换文本和格式设置等常用操作。以下为详细步骤: 第一步:安装Python库 要实现自动化处理Word文档,我们需要安装Python的python-docx库。可以通过以下语句来安装: pip install py…

    python 2023年5月13日
    00
  • 线程、网络和 Python

    【问题标题】:Thread, Network and Python线程、网络和 Python 【发布时间】:2023-04-01 23:58:01 【问题描述】: 我正在尝试创建一个连接两台(或更多)计算机的小聊天程序,所以我尝试了这个: import socket tcpSocket = socket.socket(socket.AF_INET,socke…

    Python开发 2023年4月8日
    00
  • Python 语言实现六大查找算法

    下面是关于“Python语言实现六大查找算法”的完整攻略。 1. 六大查找算法 六大查找算法是指顺序查找、二分查找、插值查找、斐波那契查找、树表查找和哈希查找这六种常用的查找算法。这些算法是计算机科学中最基本的算法之一,也是Python开发者必须掌握的算法之一。 2. 算法实现 下面是使用Python实现六大查找算法的完整代码。 2.1 顺序查找 def s…

    python 2023年5月13日
    00
  • 基于Python爬取fofa网页端数据过程解析

    在Python中,我们可以使用各种库和框架来爬取fofa网页端数据。以下是基于Python爬取fofa网页端数据的完整攻略,包含两个示例。 示例1:使用requests和BeautifulSoup库爬取fofa网页端数据 以下是一个示例,可以使用requests和BeautifulSoup库爬取fofa网页端数据: 步骤1:安装requests和Beauti…

    python 2023年5月15日
    00
  • Python批量将csv文件转化成xml文件的实例

    下面是Python批量将csv文件转化成xml文件的完整攻略。 1. 背景介绍 在数据处理过程中,将csv格式的数据转化成xml格式的数据是一个常见的需求。csv文件是常用的数据存储格式,而xml文件具有良好的可读性和可扩展性,因此将csv文件转化成xml文件可以方便数据的展示和交换。 2. 实现思路 本教程将采用Python编程语言实现csv到xml的转换…

    python 2023年6月3日
    00
  • Python如何将list中的string转换为int

    以下是“Python如何将list中的string转换为int”的完整攻略。 1. 使用for循环和int()函数 可以使用for循环遍历列表中的每个元素,并使用int()函数将其转换为整数。 my_list = [‘1’, ‘2’, ‘3’, ‘4’, ‘5’] new_list = [] for item in my_list: new_list.app…

    python 2023年5月13日
    00
  • python机器学习实战之K均值聚类

    Python机器学习实战之K均值聚类 基本介绍 K均值聚类是一种比较常用的聚类方法,其基本思想就是把所有数据分成K个类别,使得同一类别内的数据相似度较高,而不同类别的数据相似度较低。 算法流程 初始化K个聚类中心 将所有数据点分别归属于离其最近的聚类中心所代表的聚类 重新计算每个聚类的聚类中心 重复步骤2和步骤3,直到聚类中心不再发生变化 代码实现 下面是一…

    python 2023年6月6日
    00
  • 复化梯形求积分实例——用Python进行数值计算

    下面我会详细讲解“复化梯形求积分实例——用Python进行数值计算”的完整攻略。 1. 什么是复化梯形求积分法 复化梯形求积分法也被称为复合梯形公式,是一种数值积分方法。该方法的思想是将定积分区间划分为多个小区间,对每个小区间应用梯形公式进行积分,最后将所有积分值求和得到最终结果。 复化梯形求积分公式如下: $$\int {a}^{b}f(x)dx\appr…

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