python3自學之路 筆記13 集合的常用操作

2021-09-12 16:42:40 字數 1918 閱讀 1740

#!/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...