⑴ python中一個數在一個有限集合怎麼表示
集合中各元素間是無序的。
集合中各元素間是無序的,相同元素在集合中唯一存在。即集合是無序組合,它沒有索引和位置的概念,但可變集合中的元素是可以動態增加或刪除的。
集合應用場景:去重:如列表去重。關系測試:判斷數據是否存在交集,並集,差集等關系。集合的類型:可變集合——set,不可變集合——frozenset。
⑵ Python序列,集合,映射在數據關系層面的含義是什麼
序列:可通過偏移量來進行切片的對象。列表、元組、字元串都屬於序列。
散列:無法通過偏移量來進行切片的對象。比如 集合、字典。
Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。
比如,列出班裡所有同學的名字,就可以用一個list表示:
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
另一種有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')
(2)集合用啥表示python擴展閱讀:
Python的表達式寫法與C/C++類似。只是在某些寫法有所差別。
主要的算術運算符與C/C++類似。+, -, *, /, //, **, ~, %分別表示加法或者取正、減法或者取負、乘法、除法、整除、乘方、取補、取余。>>, <<表示右移和左移。&, |, ^表示二進制的AND, OR, XOR運算。>, <, ==, !=, <=, >=用於比較兩個表達式的值,分別表示大於、小於、等於、不等於、小於等於、大於等於。在這些運算符裡面,~, |, ^, &, <<, >>必須應用於整數。
Python使用and, or, not表示邏輯運算。
is, is not用於比較兩個變數是否是同一個對象。in, not in用於判斷一個對象是否屬於另外一個對象。
⑶ python基礎教程-集合的常用操作
關於集合這東西,個人感覺在工作中項目工程里,使用到的地方不太大,幾乎沒有,但是作為PYthon的基礎知識之一,我們還是需要完善的學習他,之前寫過一篇「python基礎教程-集合的介紹和使用方法 」我們大概的介紹了一下集合的使用,本經驗作為一個集合的擴展給大家介紹一下集合的常用操作。
0python基礎教程-集合的介紹和使用方法
集合的與操作
我們可以看到集合輸出的效果會有一個set表示。
aaa = [1,2,3]bbb = [3,4,5,6]a_a = set(aaa)b_b = set(bbb)
集合中並集的表示:
k = a_a | b_b
printk
使用一個| 線表示 ,求出2個數的並集。
=========另外一種不同的表達方式================
vip = a_a.union(b_b) #並集print vip
集合中交集的表示 使用 ^ 表示求交集:例如:
k = a_a ^ b_b #交集合
==============
print (a_a.intersection(b_b)) # 求交!!!!
集合中求出不同項目的結果
print (a_a.difference(b_b))
需要單獨說明的是求的是自己的和他人的不同,不是兩者一起的不同,具體看例子輸出效果:
集合中我們可以直接更新一個集合的結果在內存中:
a_a.difference_update(b_b) #求出結果並更新print a_a
⑷ python集合
*事先說明:以下代碼及結果來自本設備Python控制台,在不同設備上可能結果有區別,望自己嘗試為妙
集合(set),是一種Python里的類(class),
集合類似於列表(list),可更改,可迭代(iterable),但是元素不重復
定義集合使用花括弧{},例如:
>>> s = {"apple", "banana", "strawberry", "watermelon"}
警告!!!如果使用空括弧
>>> a = {}
>>> a.__class__
<class 'dict'>
a將成為一個字典
想要定義空集合,
請使用類名。
>>> a = set()
類名定義也可以把迭代轉換為集合:
>>> b = set("abc")
>>> b
{'a', 'b', 'c'}
但是,保存後它是無序的。
>>> s
{'banana', 'watermelon', 'strawberry', 'apple'}
(結果僅供參考,在不同設備上略有不同)
下面介紹它的性質:
1. 可更改:
使用add(x)方法添加元素x:
>>> s.add("lemon")
>>> s
{'banana', 'strawberry', 'lemon', 'watermelon', 'apple'}
使用update(iter1, iter2, …)方法添加多個可迭代對象(如列表,元組(tuple),另一個集合)里的元素:
>>> s.update(("orange", "grape"))
>>> s
{'banana', 'strawberry', 'orange', 'lemon', 'watermelon', 'apple', 'grape'}
警告!!!如果使用字元串,字元串也會被迭代:
>>> a = set()
>>> a.update("apple")
>>> a
{'a', 'p', 'e', 'l'}
使用remove(x)移除元素x,如果x不存在,則拋出KeyError錯誤
>>> s.remove("lemon")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple', 'grape'}
>>> s.remove("cat")
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
s.remove("cat")
KeyError: 'cat'
使用discard(x)移除元素x,不會發生錯誤
>>> s.discard("grape")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
>>> s.discard("dog")
>>> s
{'banana', 'strawberry', 'orange', 'watermelon', 'apple'}
2. 可迭代:
>>> for x in s:
... print(x)
banana
strawberry
orange
watermelon
apple
3. 可以使用 len 函數獲取集合長度;
>>> len(s)
5
可以使用in關鍵字檢查一個元素是否在集合內,將返回邏輯值(bool):
>>> "apple" in s
True
>>> "candy" in s
False
4.集合具有不重復性,因此它會自動去重:
>>> c = set("Hello World!")
>>> c
{' ', 'e', 'l', 'H', '!', 'r', 'W', 'o', 'd'}
5. 集合的運算
>>> d = set("abcdef")
>>> e = set("efghij")
>>> d
{'c', 'e', 'a', 'b', 'f', 'd'}
>>> e
{'h', 'e', 'g', 'j', 'f', 'i'}
>>> d - e # 集合d去掉集合e含有的元素,或者說集合d包含而集合e不包含的元素(不改變原集合)
{'a', 'b', 'd', 'c'}
>>> d | e # 集合d,e的所有元素
{'c', 'e', 'h', 'g', 'a', 'b', 'j', 'f', 'd', 'i'}
>>> d & e # 集合d,e都包含的元素
{'f', 'e'}
>>> d ^ e # 不同時出現在集合d, e中的元素
{'c', 'g', 'h', 'a', 'b', 'j', 'd', 'i'}
注意!!!
字元串、列表通用的+和*不適用於集合
>>> "abc" + "def"
'abcdef'
>>> [1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
>>> d + e
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
d + e
TypeError: unsupported operand type(s) for +: 'set' and 'set'
>>> "a" * 5
'aaaaa'
>>> [1] * 3
[1, 1, 1]
>>> d*3
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
d * 2
TypeError: unsupported operand type(s) for *: 'set' and 'int'
(作者的小觀點:既然集合是不能重復的,那麼乘以、重復是沒有意義的)
⑸ python中空集合是怎麼表示的也請詳細的說下集合的用法!謝謝
集合就是s=set(),s是隨意的字母,下面是集合的用法
len(s)
set 的長度
x in s
測試 x 是否是 s 的成員
x not in s
測試 x 是否不是 s 的成員
s.issubset(t)
s <= t
測試是否 s 中的每一個元素都在 t 中
s.issuperset(t)
s >= t
測試是否 t 中的每一個元素都在 s 中
s.union(t)
s | t
返回一個新的 set 包含 s 和 t 中的每一個元素
s.intersection(t)
s & t
返回一個新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t
返回一個新的 set 包含 s 中有但是 t 中沒有的元素
s.symmetric_difference(t)
s ^ t
返回一個新的 set 包含 s 和 t 中不重復的元素
s.update(t)
s |= t
返回增加了 set 「t」中元素後的 set 「s」
s.intersection_update(t)
s &= t
返回只保留含有 set 「t」中元素的 set 「s」
s.difference_update(t)
s -= t
返回刪除了 set 「t」中含有的元素後的 set 「s」
s.symmetric_difference_update(t)
s ^= t
返回含有 set 「t」或者 set 「s」中有而不是兩者都有的元素的 set 「s」
s.add(x)
向 set 「s」中增加元素 x
s.remove(x)
從 set 「s」中刪除元素 x, 如果不存在則引發 KeyError
s.discard(x)
如果在 set 「s」中存在元素 x, 則刪除
s.pop()
刪除並且返回 set 「s」中的一個不確定的元素, 如果為空則引發 KeyError
s.clear()
刪除 set 「s」中的所有元素
⑹ python集合的定義方式
集合的定義
格式:集合名 = {元素1,元素2,...}
例:my_set = {1, 3, 5}
集合是無序的-> 不支持下標索引
集合是可變的數據類型
集合中的元素是唯一的
集合一般用於元組或者列表中的元素去重
定義一個空的集合 my_set = set()