tft每日頭條

 > 生活

 > python學習方法及技巧

python學習方法及技巧

生活 更新时间:2024-06-29 20:33:16

上一章學到了集合的基礎概念,也列舉了一些簡單的方法如:

增,删,查,改(改的集合的屬性;轉列表,元組,字符串)集合的基礎知識

這一章學習的是集合的其他方法,集合在數學裡運用廣泛,未來所需要運用到人工智能,大數據分析的,這章的内容還是要認真了解和學習的。

1;交集:元素既在A集合裡出現且也在B集合裡出現的元素稱為交集。A & B

2;并集;A集合與B集合合并,去重的結果稱為并集。A | B

3;差集:隻在A集合出現但沒在B集合裡出現的,或隻在B集合裡出現但沒在A集合裡出現的。A - B B-A

4;對稱差集:排除掉A集合和B集合共有的元素後,輸出剩餘的 A ^ B (B ^ A)也是一樣

這些概念與數學裡集合的定義是一樣的,來看例子:

a=['北京','上海','廣州','深圳','廣西','湖北','湖南'] b=['北京','東北','澳大利亞','上海','澳門','香港','深圳'] # 實際情況下是列表,元組出現的情況居多,轉化為集合 a1=set(a) b1=set(b) print(f"交集的結果(2個集合的元素,都出現的元素是):\n{a1 & b1}") print(f"并集的結果(2個集合元素合并去重的結果是:):\n{a1 | b1}") print(f"差集的結果(2個集合的元素,隻在a出現過的元素是):\n{a1 - b1}") print(f"差集的結果(2個集合的元素,隻在b出現過的元素是):\n{b1 - a1}") print(f"對稱差集的結果(排除掉A集合和B集合共有的元素後,剩餘的是):\n{a1^b1}")

判斷返回的是True 和 False,集合的判斷不能用in

5;子集 與 真子集:

子集就是一個集合中的全部元素是另一個集合中的元素,有可能與另一個集合相等;

使用的符号是: <=

真子集就是一個集合中的元素全部是另一個集合中的元素,但不相等。

使用的符号是:<

a=[1,2,3] b=[1,2,3] # 判斷集合a 是不是 集合b的子集 print(set(a) <= set(b)) # 判斷 a 是不是 集合b 的真子集 print(set(a) < set(b))

所以:

如果A是B的子集,那麼A就一定是B的真子集,

如果A是B的真子集,A不一定是B的子集。

6;超集 與 真超集:

超集是一個集合中的全部元素包含了另一個集合中所有元素,有可能與另一個集合相等;

使用的符号是: >=

真超集是一個集合中的全部元素包含了另一個集合中所有元素,但不相等。

使用的符号是:>

a=[1,2,3,4] b=[1,2,3] # 判斷集合a 是不是 集合b的超集 print(set(a) >= set(b)) # 判斷 a 是不是 集合b 的真超集 print(set(a) > set(b))

所以:

如果A是B的超集,那麼A就一定是B的真超集,

如果A是B的超集,A不一定是B的超集。

補充内容:

更新集合的方法,注意是更新update(這個更新在字典裡也有使用)但更新 與添加add不同

來看看:

a = set('world') # 添加一個元素到集合a裡,隻能添加一個元素 # 隻能添加不可變的序列進去,比如;字符串,數字,元組, a.add('nihao') # ('哈喽,明天') 是元組 a.add(('哈喽','明天')) print(a)

以add方式添加進去的元素,會保留原有的屬性,字符串還是字符串,元組還是元組

python學習方法及技巧(python自學集合方法)1

以update方式添加到集合裡的就完全不一樣了;

1;添加進集合裡,原來的元素屬性不會發生變化,但會被一一拆開來

2;更新可以把列表更新進去。

a = set('chenglu') # 把集合a更新一下 a.update([1,2,3,4,5],'二狗',(9,0,7,0)) print(a)

python學習方法及技巧(python自學集合方法)2

我這樣寫的目的就是讓大家能分辨出在什麼時候,使用什麼方法。

關于哈希值;

我們知道:

數值,字符串,元組是不可變的,

字典,列表,集合是可變的。

那到底是怎麼區分的呢?咱們可以用到hash來看看他們的值

a='jintiantianqibucuo' b= 2022 c= (1,2,3,4) # 所以 字符串,數,和元組 都有嘻哈值。 # 有嘻哈值的都是不可變的, # 不可變的可以作為字典的鍵 print(hash(a),hash(b),hash(c)) a1={'春天':100,'夏天':200} print(hash(a1)) b1=[1,2,3,4] print(hash(b1)) c1={1,3,4,5} print(hash(c1))

不可變的都有嘻哈值,可變的都沒有嘻哈值

編寫不易,如果你覺得文章内容有趣,或對你有幫助,還請點贊,評論,轉發啦~謝謝~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved