#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# file : 集合的常用操作.py
# author: dashenhan&道長-----先苦後甜,任憑晚風拂柳顏------
# date : 2019/3/13
#集合是無序的,無可以隨機訪問,不可以重複元素,不支援索引
a=[1,1,2,2,3,4,5,6]
b=set(a)
print(b)
for i in b:
print(i)
'''集合的定義:
可變集合
s=不可變集合
s=frozenset()
字典生成集合,只會生成key的 就是set(dic)
set=set(x for i in range(0,10))
print(s,type(s))
上面是個集合推導式
'''#可變集合的增刪改操作內部元素必須是不可變的
s=s.add(5)
print(s)
#刪除# s.remove(1) 刪除元素,沒有就報錯
# s.discard(1) 刪除元素,沒有就返回nothing
# s.clear 清空集合裡所有元素,無返回值
a=s.pop() #隨機刪除並返回乙個元素
print(s)
print(a)
import collections
#修改查詢 不能修改,只能通過遍歷進行訪問
#集合之間的操作
b=iter(s)
print(next(b))
print(next(b))
print(next(b))
print(isinstance(s,collections.iterable))
s=frozenset([1,2,3])
print(s)
'''集合求交集
不可變集合與可變集合進行交集時,誰在前面,結果就是誰
a=b=frozenset()
c=a.intersection(b)
d=b.intersection(a)
e=a&b #intersection 和&是相同的
a.intersection_update(b) 會把計算後的結果賦值給a
print(c)
print(d)
print(e)
a.intersection_update(b)
print(a)
#集合能與可迭代物件進行交集運算,包括字串列表等等
a=b=a.intersection('12')
print(b)
也可以和字典的鍵進行交集
集合求並集
1.uinion() 合併後返回乙個 不改變本身
2.| 同上
3.update() 合併後更新前面的
s1=s2=
print(s1|s2)
print(s1.union(s2))
a=b=a.intersection('12')
s1.update(s2)
print(s1)
集合求差集
1.differencec()
2.-3.difference_update()
s1=s2=
print(s1-s2)
print(s1.difference(s2))
s3=difference_update()
print(s3)
集合判定
s1=s1.isdisjoint() #是否相交
s1.issuperset() #是否包含整個集合
s1.issubset() #是否被包含
'''
python3自學之路 筆記4
python語言支援邏輯運算子,以下假設變數 a 為 10,b為 20 運算子邏輯表示式 描述例項 andx and y 布林 與 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值。a and b 返回 20。orx or y 布林 或 如果 x 是 true,它...
python3自學之路 筆記7
迭代器有兩個基本的方法 iter 和next 字串,列表或元組物件都可用於建立迭代器 a a b c d e b iter a for i in range len a print next b 這段 中b的型別為 在 python 中,使用了 yield 的函式被稱為生成器 generator 跟...
python3自學之路 筆記8
python 使用 lambda 來建立匿名函式。所謂匿名,意即不再使用 def 語句這樣標準的形式定義乙個函式。lambda 函式的語法只包含乙個語句,如下 lambda arg1 arg2,argn expression呼叫函式時,如果沒有傳遞引數,則會使用預設引數。def run a,b 12...