Python编程 集合

简介: Python编程 集合

前言

本章将会讲解Python编程中的集合。


一.集合

1.集合介绍(掌握)

集合( set )是一个 无序不重复 元素的集,基本功能包括关系测试和消除重复元素。是

可变数据类型。

集合数据类型的 核心 在于 自动去重。


2.集合创建(掌握)

集合使用 大括号 {} 框定元素,并以 逗号 进行分隔。

s = {ele1,ele2,ele3...}

s = set()

s = set(iterable)

# s = {}
# print(type(s))         #<class 'dict'>
 s1 = set()
 print(s1)       #set()
 print(type(s1))     #<class 'set'>
s2 =set([1,2,3,1,2,3,12,3])
print(s2)   #得{1, 2, 3, 12}  集合:自动去重
s3 =set("hello worid")
print(s3)      #{'r', 'd', ' ', 'i', 'w', 'o', 'e', 'l', 'h'} 1.全部拆开 2.去重 3.无序

注意:

{} 并 不是 创建 空集合,而 是空字典。创建 空集合 需使用 set()


3.添加元素(熟悉)

通过 set.add(key) 方法可以 添加元素 到 set

s4 = set([1,2,3,4,5])
s4.add(3)
print(s4)    #{1, 2, 3, 4, 5}   自动去重
s4.add(8)
print(s4)    #{1, 2, 3, 4, 5, 8}   添加成功
s4.add("doudou")    #元素可以是不可变数据类型  .是调用的意思 调用集合的方法
print(s4)           #{1, 2, 3, 4, 5, 'doudou', 8}
# s4.add([1,2,3])     #报错。同字典key一样,只能添加不可变对象。
# print(s4)

4.集合更新(熟悉)

可以通过 set.update() 方法,将另一个对象 更新 到 已有的集合中,这一过程同

样会进行 去重。

s = {1,2,3,4,5}
s.update("hello")    #更新,也就是将"hello"每个都能拆开添加到S当中。仍然去重
print(s)

5.删除元素(熟悉)

set.remove(key):删除指定元素

set.pop():随机删除元素(注意:无参数)

s2 = {1,2,3,4,5}
# del s2[1]
# print(s2)             #集合无序的,所以没有下标概念
s2.remove(4)     #删除元素
print(s2)        #{1, 2, 3, 5}
# s2.remove("doudou")   #元素不存在,报错
# print(s2)
s3 = set("hello world")
s3.pop()           #随机删除
print(s3)          #{'l', 'e', 'd', 'o', 'r', 'w', ' '}
目录
相关文章
|
14天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
14天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
18天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
1天前
|
SQL 关系型数据库 MySQL
第十三章 Python数据库编程
第十三章 Python数据库编程
|
1天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
7天前
|
安全 数据处理 开发者
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
《Python 简易速速上手小册》第7章:高级 Python 编程(2024 最新版)
19 1
|
7天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0
|
8天前
|
API Python
Python模块化编程:面试题深度解析
【4月更文挑战第14天】了解Python模块化编程对于构建大型项目至关重要,它涉及代码组织、复用和维护。本文深入探讨了模块、包、导入机制、命名空间和作用域等基础概念,并列举了面试中常见的模块导入混乱、不适当星号导入等问题,强调了避免循环依赖、合理使用`__init__.py`以及理解模块作用域的重要性。掌握这些知识将有助于在面试中自信应对模块化编程的相关挑战。
21 0
|
8天前
|
Python
Python金融应用编程:衍生品定价和套期保值的随机过程
Python金融应用编程:衍生品定价和套期保值的随机过程
24 0
|
9天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
52 0