python初学(四)
2019年3月12日
..................................................................
集合:有的可变,有的不可变;元素无次序,不可重复
(1)创建可修改的集合,set(),如果发现有重复的元素,就会过滤掉
>>> s=set("fdsjfh") //把字符串拆分,形成集合
>>> s
{'h', 's', 'f', 'd', 'j'}
>>> b=set(["dfa","book","book","daks"]) //把列表拆分,形成集合
>>> b
{'book', 'daks', 'dfa'}
(2)向集合中添加元素,add()
>>> s=set(["af","fsfs","fsf","gfd"])
>>> s
{'gfd', 'fsf', 'af', 'fsfs'}
>>> s.add("ffsdlk")
>>> s
{'gfd', 'fsf', 'af', 'fsfs', 'ffsdlk'}
(3)将s2集合合并到s1,组成新的集合,update()
>>> s1=set(["dad","fa","fgskdf"])
>>> s2=set(["fgsdf","fgsk"])
>>> s1.update(s2)
>>> s1
{'fa', 'fgskdf', 'dad', 'fgsdf', 'fgsk'}
>>> s1.update("aab") //将字符串添加进S1
>>> s1
{'fa', 'fgskdf', 'b', 'dad', 'fgsdf', 'fgsk', 'a'}
(4)pop()函数,随机删除某个元素,不能指定删除
remove(obj)函数,删除集合中的obj元素,若obj不在集合中则报错
discard(obj)函数,若obj为集合中的元素,则删除,否则不进行任何操作
clear()函数,清除集合中的所有元素
(5)创建不可修改的集合,frozonset()
>>> s=frozenset("fhjsd")
>>> s
frozenset({'h', 's', 'f', 'd', 'j'})
>>> s.add("fg")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'frozenset' object has no attribute 'add'
..................................................................
集合和元素的关系:元素或属于集合,或不属于集合
集合和集合的关系:
i.两集合相等,元素完全一样
ii.A的元素都是B的元素,B的元素比A的多,集合A是集合B的子集,A<B或者A.issubset(B);B是A的超集,B.issuperset(A)
>>> a=set(['q','i','s','w'])
>>> b=set(['q','i'])
>>> b<a
True
>>> b.issubset(a)
True
>>> a.issuoerset(b)
>>> a.issuperset(b)
True
iii.A,B的并集,A,B的所有元素,表达为A|B或A.union(B)
>>> c=a|b
>>> c
{'w', 'i', 'q', 's'}
iv.A,B的交集,A,B所共有的元素,表达为A&B
>>>c=a&b
>>>c
{'q','i'}
vi.A相对B的差(补),即A中初B中元素外的其他元素,A-B
>>>c=a-b
>>>c
{'s','w'}
..................................................................
算术运算符:
%:取余,返回除法的余数 ,如20%9 输出 2
**:幂,返回X的Y次幂,10**2 输出 100
//:取整,返回商的整数部分,9//2 输出 4
..................................................................
import语句
>>>import math >>>from math import pow >>>from math import pow ppt
>>>math.pow(3,2) >>>pow(3,2) >>>ppt(3,2)
9.0 9.0 9.0
赋值语句
>>>a=3 //单一赋值
>>>b,c,d=1,"dfajsh",["ad","124"] //一一对应赋值
>>>e="adas","agf" //将几个值赋给一个
>>>f=g="ad" //同时对两个变量赋值,链式赋值,如果值为字符串,f,g地址不同;若所附值为整型,则f,g地址相同
>>>a
3
>>>b
1
>>>c
'dfajsh'
>>>d
['ad','124']
>>>e
('adas','agf')
>>>print(f,g)
ad ad