元组
元组是一个不可以修改的,元素以逗号分隔的有序序列 格式: 变量名 = (元素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()
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']