首页 > 编程语言 >python学习笔记三:元组和集合

python学习笔记三:元组和集合

时间:2023-02-18 10:05:54浏览次数:32  
标签:set python 元素 笔记 元组 集合 print 运行


学习python的小伙伴们经常会有这样一个疑问,既然有列表里,问什么还要有元组呢。因为列表是可变的,而元组是不可变的。比如我们经常需要传入函数的数据是不变的,这时就要用到元组了。

def info(a):
a[0] = 'haha'
return a
a = [1,2,3]
info(a)
运行结果:['haha', 2, 3]

b = (1,2,3)
info(b)
运行结果:TypeError: 'tuple' object does not support item assignment

想要改变元组里的元素,可以先将元组转换成列表,元素变换之后再转换成元组,实际上是重新创建了对象。

a = (1,2,3)
b = list(a)
b[0] = 5
a = tuple(b)
print(a)
运行结果:(5, 2, 3)

创建元组:当元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当成运算符使用

tuple1 = (10)
type(tuple1)
>>int

tuple2 = (10,)
type(tuple2)
>>tuple

 

集合是没有序列的,而且里面的元素是唯一的,重复的元素会被自动剔除掉。

创建集合:创建一个空集合必须使用set()而不是{},因为{}是用来创建一个字典。

  1. 用花括号{}
  2. set()
#创建集合
a = set(['a',2,3])
print(a)
运行结果:{2, 3, 'a'}

b = set('abc')
print(b)
运行结果:{'a', 'b', 'c'}

 集合元素的添加与去除:

a = set(['a',2,3])

#add添加
a.add('tong')#将整个元素添加进来,如果元素已存在,则不进行任何操作
print(a)
运行结果:{'tong', 2, 3, 'a'}

#update添加
a.update('tong')#将字符串拆开添加进来
print(a)
运行结果:{'tong', 2, 3, 'n', 'a', 't', 'o', 'g'}

#集合元素的去除
a.remove('tong')#如果元素不存在会发生错误。还有一个方法是移除集合中指定元素s.discard(x),如果元素不存在不会发生错误
print(a)
运行结果:{2, 3, 'n', 'a', 't', 'o', 'g'}

#我们也可以设置随机删除集合中的一个元素
s.pop()

集合的成员关系:

a = set('abc')
'b' in a
运行结果:True

集合的交集、并集与差集:

a = set('abc')
b = set('bcd')
print(a&b)#交集
print(a|b)#并集
print(a-b)#差集
运行结果:
{'c', 'b'}
{'d', 'a', 'b', 'c'}
{'a'}

结合集合删除列表里面的元素:

a = [1,2,3,1,3]
b = set(a)
print(b)
c = list(b)
print(c)
运行结果:
{1, 2, 3}
[1, 2, 3]

冻结集合:

#冻结集合
a = frozenset('abc')#集合则不可修改
a.add('d')
运行结果:AttributeError: 'frozenset' object has no attribute 'add'

计算集合元素个数:len(s)

清空集合:s.clear()

拷贝集合:s.copy()

标签:set,python,元素,笔记,元组,集合,print,运行
From: https://blog.51cto.com/u_14036511/6065054

相关文章

  • python学习笔记二:列表
    列表通过索引读取数据:#索引读取数据a=[1,2,3]a[-1]运行结果:3列表支持嵌套:b=[[1,2,3],[4,5,6]]print(b)运行结果:[[1,2,3],[4,5,6]]列表可以修改:b=[[1,2,3],[4,5,6......
  • python学习笔记一:基本数据类型
    1、python的一切都是对象,对象是包含属性和方法的一个整体。2、数据类型的组成:身份(内存地址,通过id方法可看它的唯一标识符);类型(通过type方法查看);值(数据项)3、常用基本数据类型......
  • 新概念2册L33笔记(介词+空间)
    L33Outofthedarkness重点词汇explainv.explainsthtosb向某人解释explanationn.stormn.heavystorms暴风雨towardsprep.向、朝、(在空间/时间上接近)strug......
  • python-菜鸟娱乐
    计算两个数的最大公约数点击查看代码defcommon_divisor(m,n):whilem:ifm<n:t=mm=nn=t......
  • ubuntu18.04 添加python3.8环境
    默认是3.6,最好不要动,不要升级,直接加一个3.8环境进去就好。1、准备工作sudoaptupdatesudoaptinstallsoftware-properties-common 2、将DeadsnakesPPA添加到系......
  • 读Java实战(第二版)笔记13_Java模块系统
    1. NicolaiParlog编写的TheJavaModuleSystem1.1. 推荐阅读2. Jigsaw项目2.1. 开发持续了将近十年3. 关注点分离3.1. separationofconcern,SoC3.2. 将......
  • python魔法方法
    python魔法方法1.基本的魔法方法(1)__init__方法用于对实例进行初始化,在实例创建是会自动执行。classHello():def__init__(self):print("HelloWorld!")......
  • Python 连接数据源与邮件功能(九)
    目录一、概述二、Python连接数据源1)PythonMySQL基础操作1、部署MySQL2、MySQLConnector库【1】安装mysql-connector-python库【2】连接MySQL【3】增加数据【4】查......
  • Python实现动态码
    通过Python的MyQR模块来实现动态码,具体实现代码如下:#-*-coding:utf-8-*-fromMyQRimportmyqr#此处注意大小写#使用前需要先安装myqr模块,终端里运行:pipinstall......
  • 【视频】风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例|附代码数
    原文链接:http://tecdat.cn/?p=22862 最近我们被客户要求撰写关于风险价值VaR的研究报告,包括一些图形和统计输出。风险价值(VaR)是一种统计数据,用于量化公司、投资组......