python集合和元组的必会知识点

元组

元组是一个不可以修改的,元素以逗号分隔的有序序列
格式:
变量名 = (元素1,元素2,…)

#元组
tuple1 = ('a','b','c')
print(type(tuple1))#<class 'tuple'>
print(tuple1)#('a', 'b', 'c')
访问元组
#访问元组的方法
tuple1 = (1,2,3,4,5,6)
#通过索引值的访问
print(tuple1[1])
#通过for循环访问元组
for name in tuple1:
    print(name)#1,2,3,4,5,6
#通过切片访问
print(tuple1[1:3:1])#(2, 3)
元组的合并
#元组的合并
tuple1 = (1,2)
tuple2 = (3,4)
print(tuple1+tuple2)#(1, 2, 3, 4)
#元组的重复
print(tuple2*4)#(3, 4, 3, 4, 3, 4, 3, 4)
元组的解包
#元组的解包
tuple1,*tuple2 = (1,2,3,4,5,6)
print(tuple1)#1
print(tuple2)#[2, 3, 4, 5, 6]

#元组的特殊操作
tuple1 = (1,2,3,4,5,6)
for i in enumerate(tuple1):
    print(i)
"""
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 6)
"""
元组的修改
#元组的修改
tuple1 = (1,2,3,4,5)
tuple1[1] = 2#报错 所以元组不可以被修改
元组的查找方法
方法描述
index从左往右返回第一个遇到的指定元素的索引,如果没有,报错
count返回元组当中指定元素的个数
#元组的查找
tuple1 = (1,2,3,4,5,4,4)
print(tuple1.index(3))#2
print(tuple1.count(4))#3
#元组求和
b = (1,2,3,4,5)
mun = 0
for i in b :
    mun+=i
print(mun)#15
#输出元组内的偶数个数
b = (1,2,3,4,5,6,7,8,12,24)
count = 0
for i in b:
    if i % 2 == 0:
        count+=1
print('偶数的个数为{}'.format(count))#偶数的个数为6
python的集合

集合是盛放多个数据的一种类型。
集合中的元素是无序的,唯一的、不可改变类型,无重复的元素。
可以使用大括号 { } 或者 set() 函数创建集合,
格式:
(1). 变量名={元素 1,元素 2,元素 3,…}
(2). 变量名=set(序列) 例如 变量名=set(元组,自动,字符串)
注意事项:
1.创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
2.集合中的元素必须是不可修改类型。
补存:

类型举例
可变list dict set
不可变int bool float str tuple
#创建集合
a = {}
b = set()
c = {1,2,3,4,5}
print(type(a))#<class 'dict'>
print(type(b))#<class 'set'>
print(type(c))#<class 'set'>
集合的操作
方法功能
add()无序
updata()无序
#集合的添加操作
#add() updata()
set1 ={'a','b'}
set1.add('f')
print(set1)#{'f', 'b', 'a'}
set1.update({'你好'})
print(set1)#{'你好', 'f', 'b', 'a'}
集合的删除
方法描述
pop随机删除一个
del删除集合
clear清空集合里的内容
remove删除指定的参数
#集合的删除操作
set1 = {1,2,3,4,5,6}
set1.pop()
print(set1)#{2, 3, 4, 5, 6}
set1.remove(2)
print(set1)#{3, 4, 5, 6}
set1.clear()
print(set1)#set()
del set1
# print(set1)#
集合的数学运算

1.交集(& 或者 intersection) 取公共部分
2.并集。(| 或者 union) 取去除重复部分内容
3.差集。(- 或者 difference)取 set1 或者 set2 中除去公共部分的内容
4.反交集。(^ 或者 symmetric_difference)
5.子集。(< 或者 issubset)
6.超集。(> 或者 issuperset)

#交集去公共的部分
set1 = {1,2,3}
set2 = {3,4,5}
print(set1 & set2)#{3}
print(set1.intersection(set2))#{3}
#集合的并集
set1 = {1,2,3}
set2 = {3,4,5}
print(set1 | set2)#{1, 2, 3, 4, 5}
print(set1.union(set2))#{1, 2, 3, 4, 5}
单利模式(购物车)
#购物车
class Shoping():
    __shoping = None
    __first = True
    def __new__(cls, *args, **kwargs):
        if cls.__shoping == None:
            cls.__shoping = super().__new__(cls)
        return cls.__shoping
    def __init__(self):
        if self.__first :
            self.list1 = []
            self.__first = False
    def addh(self,elemt):
        self.list1.append(elemt)
if __name__ == '__main__':
    p = Shoping()
    p.addh('s')
    print(p.list1)#['s']
    p1 = Shoping()
    print(p1.list1)#['s']
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值