Python学习之字典和集合的使用详解

yizhihongxing

Python学习之字典和集合的使用详解

一、字典

字典是Python中一种重要的数据结构,也是我们常用的一种数据结构。它是一种保存着键值对的数据结构,每个键对应着一个值。要创建一个空字典,可以使用 dict() 函数;要创建一个非空字典,可以使用花括号 {} 括起来,里面用逗号分隔键值对,格式为 "key:value"。

例如,创建一个字典d,它包含一个键值对,键名为"a",键值为1:

d = {"a":1}

1. 字典的常用操作

1.1. 获取字典的长度

可以使用len()函数来获取字典的长度

例如,获取字典d的长度:

print(len(d)) # 输出 1

1.2. 获取字典中的值

可以使用中括号 [] 来获取字典中的值。

例如,获取字典d中键名为"a"的键值:

print(d["a"]) # 输出 1

1.3. 修改字典中的值

可以使用中括号 [] 来修改字典中的值。

例如,将字典d中键名为"a"的键值修改为2:

d["a"] = 2
print(d) # 输出 {'a': 2}

1.4. 添加字典中的键值对

可以使用中括号 [] 来添加字典中的键值对。

例如,向字典d中添加一个键名为"b",键值为3的键值对:

d["b"] = 3
print(d) # 输出 {'a': 2, 'b': 3}

1.5. 删除字典中的键值对

可以使用 del 关键字删除字典中的键值对。

例如,从字典d中删除键名为"a"的键值对:

del d["a"]
print(d) # 输出 {'b': 3}

2. 字典的遍历

2.1. 遍历字典的键

可以使用 keys() 方法获取字典的所有键,再使用 for 循环遍历所有键。

例如,遍历字典d的所有键:

for key in d.keys():
    print(key)

2.2. 遍历字典的值

可以使用 values() 方法获取字典的所有值,再使用 for 循环遍历所有值。

例如,遍历字典d的所有值:

for value in d.values():
    print(value)

2.3. 遍历字典的键值对

可以使用 items() 方法获取字典的所有键值对,再使用 for 循环遍历所有键值对。

例如,遍历字典d的所有键值对:

for key, value in d.items():
    print(key, value)

二、集合

集合和列表、元组等常用数据结构在一起使用。集合支持数学中集合的基本操作,如交集、并集、差集等。

1. 创建集合

可以使用花括号 {} 或 set() 函数创建集合。注意,创建空集合时必须使用 set(),因为{}创建的是空字典。

例如,创建一个非空集合 s,包含元素1、2、3:

s = {1, 2, 3}

2. 集合的操作

2.1. 获取集合的长度

可以使用 len() 函数获取集合的长度。

例如,获取集合s的长度:

print(len(s)) # 输出 3

2.2. 判断元素是否在集合中

可以使用 innot in 运算符判断元素是否在集合中。

例如,判断元素2是否在集合s中:

print(2 in s) # 输出 True

2.3. 集合的基本操作

可以使用集合的基本运算符进行数学中的集合操作,如交集(&)、并集(|)、差集(-)、补集(^)等。

例如,集合 A 和 B:

A = {1, 2, 3}
B = {2, 3, 4}

求 A 和 B 的交集:

print(A & B) # 输出 {2, 3}

求 A 和 B 的并集:

print(A | B) # 输出 {1, 2, 3, 4}

求 A 和 B 的差集:

print(A - B) # 输出 {1}

2.4. 遍历集合

可以使用 for 循环遍历集合中的元素。

例如,遍历集合s中的所有元素:

for element in s:
    print(element)

三、示例说明

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

str = "hello, world!"
d = {}
for c in str:
    if c in d.keys():
        d[c] = 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, '!': 1}

这个代码片段统计了字符串中每个字符出现的次数,将结果保存在字典d中。

2. 集合示例:去重

list = [1, 2, 3, 2, 4, 3]
s = set(list)
print(s) # 输出 {1, 2, 3, 4}

这个代码片段使用了集合的特性,将列表中的重复元素去掉。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python学习之字典和集合的使用详解 - Python技术站

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

相关文章

  • Python使用pickle模块报错EOFError Ran out of input的解决方法

    Python使用pickle模块报错EOFError Ran out of input的解决方法 问题背景 在Python中使用pickle模块时,有时候会出现EOFError: Ran out of input的错误提示。这个错误通常发生在反序列化(pickling/unpickling)过程中。 问题原因 这个错误通常发生在以下几种情况下: 尝试在输入管…

    python 2023年5月13日
    00
  • 寻找NumPy数组中最频繁的值

    寻找NumPy数组中最频繁的值,可以通过以下步骤完成: 步骤1:导入NumPy模块 首先需要导入NumPy模块,以便使用其中的方法和函数。 import numpy as np 步骤2:创建NumPy数组 其次需要创建一个NumPy数组,可以使用NumPy中的numpy.array()函数创建。 a = np.array([1, 2, 3, 4, 1, 2,…

    python-answer 2023年3月25日
    00
  • 从一道面试题来学习前台进程和后台进程、孤儿进程和僵尸进程

    1、面试题介绍 以前面试,面试官问了一个问题,大意是: 我们在终端中,通过执行 python main.py 命令,会启动一台前台进程直到程序结束。现在我还是想通过执行 python main.py ,启动一个后台进程,让后台进程运行我们的业务逻辑。这个时候应该怎么做呢? 回答上面这道题,需要先了解什么是前台进程和后台进程,什么是孤儿进程和僵尸进程?接下来,…

    python 2023年4月17日
    00
  • Python爬取微信小程序Charles实现过程图解

    当你需要用Python爬取微信小程序的数据时,你可以使用Charles代理工具来进行抓包,获取请求和响应数据。下面是Python爬取微信小程序Charles实现过程的详细攻略: 步骤1:安装和配置Charles 首先,你需要在电脑上安装并启动Charles。安装完Charles之后,在Charles的Proxy菜单栏中找到Proxy Settings,把Pr…

    python 2023年5月23日
    00
  • python re – 在字符之前拆分字符串

    【问题标题】:python re – split a string before a characterpython re – 在字符之前拆分字符串 【发布时间】:2023-04-06 13:04:01 【问题描述】: 如何在字符前的位置拆分字符串? 在’a’之前分割一个字符串 输入:“fffagggahhh” 输出:[“fff”, “aggg”, “ahh…

    Python开发 2023年4月7日
    00
  • python提取word文件中的图片并上传阿里云OSS

    要实现python提取word文件中的图片并上传阿里云OSS,需要以下几个步骤: 安装python-docx和阿里云OSS Python SDK,使用pip命令可以快速安装: pip install python-docx pip install oss2 加载word文档,并获取文档中的所有图片。 示例代码: import docx doc = docx.…

    python 2023年6月3日
    00
  • 详解Python搜索元组中的一个元素

    要在Python中搜索元组(tuple)中的一个元素,可以使用以下方法: 使用in关键字:可以使用in关键字判断元素是否存在于元组中,并返回一个布尔值。示例如下: # 创建一个元组 tup = (1, 2, 3, 4, 5) # 使用in判断元素是否存在于元组中 if 3 in tup: print("元素存在于元组中") else: p…

    python-answer 2023年3月25日
    00
  • 如何在命令行上传递参数而不在python中使用标志

    【问题标题】:How to pass parameters on command line without using flags in python如何在命令行上传递参数而不在python中使用标志 【发布时间】:2023-04-03 13:03:02 【问题描述】: 所以我有我的 main.py 脚本,它基本上将根据命令行上传递的内容运行某些条件语句。例…

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