【笔记】Python基础二

一,变量

变量作用是记录状态

1,变量基本类型

字符串

数字

列表

元组

字典

2,可变不可变

1),可变:修改变量的值,id值不变。列表,字典

2),不可变:新建立变量后需要开辟新内存地址。字符串,数字,元组

3,访问顺序

1),顺序:字符串,列表,元组

2),映射:字典

3),直接:数字

4,存放元素个数

容器类型:列表,元组,字典

原子:数字,字符串

二,新类型:集合

集合出现之前

python_l = ['lcg','szw','zjw']
linux_l = ['lcg','szw','sb']

#循环方法求交集
python_and_linux_l = []
for p_name in python_l:
    if p_name in linux_l:
        python_and_linux_l.append(p_name)

print(python_and_linux_l)

特点

1,不同元素组成

2,无序

3,集合中的元素必须是不可变类型:数字,字符串,元组

4,集合本身是可变类型,可以追加和删除元素。注意:使用frozenset('hello')把集合定义成不可变类型

s = frozenset('hello')
print(s)

形式

s = {1,2,3,4,5,6}

s = set("hello")                 # s={'e','o','h','l'}

s = set(['alex','alex','sb'])    # s={'sb','alex'}

用途:删除重复值

names = ['alex', 'alex','wupeiqi']
s = set(names)
print(s)
names  = list(s)
print(names)

输出:

{'wupeiqi', 'alex'}
['wupeiqi', 'alex']

内置方法

s = {1,2,3,4,5,6}

1,s.add(7)

2,s.clear()

3,s1 = s.copy()

4,s.pop() #无序的集合,随机删除

5,s.remove('sb')

如果不存在,会报错

6,s.discard('sbb')

如果不存在,不会报错

7,求交集,同时报了两门课程的人

python_l = ['lcg','szw','zjw']
linux_l = ['lcg','szw','sb']
p_s = set(python_l)
l_s = set(linux_l)
print(p_s,l_s)

print(p_s.intersection(l_s))
print(p_s&l_s)

8,求并集,所有人的集合

print(p_s.union(l_s))
print(p_s|l_s)

9,求差集,报了python没有报linux的人

print('差集',p_s - l_s)
print('差集',p_s.difference(l_s))

10,交叉补集,合到一块,扣掉共同的部分,只报了一门课程的人,可能是python,也可能是linux

print('交叉补集',p_s.symmetric_difference(l_s))
print('交叉补集',p_s^l_s)

11,求差集后更新

p_s.difference_update(l_s) #相当于 p_s = p_s - l_s
print(p_s)

12,如果没有交集则为TRUE

s1 = {1,2}
s2 = {1,2,3,5}
print(s1.isdisjoint(s2)) #False

13,父集与子集

print(s1.issubset(s2))  #True S1是S2的子集
print(s2.issuperset(s1)) #True S2是S1的父集

14,update可以更新(添加)多个值

s1 = {1,2}
s2 = {1,2,3,5}
#s1.update(s2)
s1.update([3,4])
s2.add(4) #add只能更新一个值
print(s1,s2)

猜你喜欢

转载自www.cnblogs.com/fudonghai/p/10175681.html