python day07

---恢复内容开始---

集合及深浅   

集合是可变数据类型。它里面的元素是不可变的数据类型,无顺序,不重复。{ }

1.集合的创建

set1 = set({1,2,'barry'})
set2 = {1,2,'barry'}
print(set1,set2)  # {1, 2, 'barry'} {1, 2, 'barry'}
set2 = {1,2,3,[2,3],{'name':'alex'}}  # 错的

2.集合的增

set1 = {'alex','wusir','ritian','egon','barry'}
set1.add('女神')
print(set1)

set1 = {'alex','wusir','ritian','egon','barry',}
set1.update('abc')
print(set1)

3.集合的删

set1 = {'alex','wusir','ritian','egon','barry',}
set1.pop()  # 随机删除
print(set1.pop())  # 有返回值
print(set1)
set1.remove('alex')  # 按元素
print(set1)
set1.clear()
print(set1)  # set()
del set1
print(set1)

4.集合的查

set1 = {'alex','wusir','ritian','egon','barry',}
for i in set1:
    print(i)

5,集合的其他操作:

  5.1 交集。(&  或者 intersection)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
set3 = set1 & set2
print(set3)  # {4, 5}
print(set1.intersection(set2))  # {4, 5}

  5.2 并集。(| 或者 union)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

  5.3 差集。(- 或者 difference)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)  # {1, 2, 3}
print(set1.difference(set2))  # {1, 2, 3}

  5.4反交集。 (^ 或者 symmetric_difference) 

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

  5.5子集与超集

set1 = {1,2,3}
set2 = {1,2,3,4,5,6}

print(set1 < set2)
print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。

print(set2 > set1)
print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。

6. frozenset不可变集合,让集合变成不可变类型。

s = frozenset('barry')
print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
for i in s:
    print(i)

 

posted @ 2018-11-28 21:22  李然然  阅读(178)  评论(0编辑  收藏  举报