python中hashset_python中的集合
集合:用于包含一組無序的對(duì)象;
可以理解為將一個(gè)列表放入{}中組成了集合
創(chuàng)建集合:使用set函數(shù)或者使用{}并提供要存儲(chǔ)的項(xiàng) 如:s?=?set([3,5,9,10])?#創(chuàng)建一個(gè)數(shù)據(jù)集合
e?=?{1,2,3,4,6,7,8}?#也可以這樣創(chuàng)建一個(gè)數(shù)據(jù)集合
t?=?set('Hello')?#創(chuàng)建一個(gè)唯一字符的集合
與列表、元組的區(qū)別:
1,集合是無序的
2, 無法通過數(shù)字進(jìn)行索引
3,集合元素不能重復(fù)?每個(gè)元素都具有唯一性
檢查t集合中的值 :print(t)
輸出 無序的一個(gè)集合:
{'H', 'o', 'e', 'l'}
集合支持一系列標(biāo)準(zhǔn)操作,包括并集,交集,差集和對(duì)稱差集 如:a?=?t|s?????#求并集
b?=?t&s??#求交集
c?=?t-s????#求差集
d?=?t?^s?#?求對(duì)稱差集
解釋:
|? :兩個(gè)集合的合并對(duì)象
&? :兩個(gè)集合同時(shí)存在的對(duì)象
-:項(xiàng)在t中存在但不在s中存在
^ :兩個(gè)集合當(dāng)中不會(huì)同時(shí)存在的對(duì)象
輸出結(jié)果:
{3, 4, 5, 6, 7, 'e', 'l', 'H', 'o'}
set()
{'H', 'l', 'e', 'o'}
{3, 4, 5, 6, 7, 'e', 'o', 'H', 'l'}
集合添加數(shù)據(jù)的兩種方法:
1,add()方法:添加一項(xiàng)data?=?{1,2,3,4,5};
data.add(6);
print(data);
輸出結(jié)果:
{1, 2, 3, 4, 5, 6}
2,update()方法:添加多項(xiàng)data.update('ABC');
#也可以使用 data.update('A','B','C');
輸出結(jié)果:
{1, 2, 3, 4, 5, 6, 'A', 'B', 'C'}
集合中刪除一項(xiàng)的方法:
remove()方法:data.remove('A');
輸出結(jié)果:
{1, 2, 3, 4, 5, 6, 'B', 'C'}
問題:為什么要有集合?
實(shí)踐:
在列表當(dāng)中如果要去除重復(fù)的項(xiàng):data?=?['A','B','A','C',1,2,3,2,4,1,3];
all?=?[];
for?num?in?data:?#循環(huán)data數(shù)據(jù)
if?num?not?in?all:?#如果不存在于列表all中
all.append(num);?#則追加
print(all);
輸出結(jié)果:
{1, 2, 3, 4, 'A', 'B', 'C'}
使用集合簡化列表中去重:data?=?list(set(data));
print(data);
解釋:由于集合中的對(duì)象具有唯一性 所以將數(shù)據(jù)聲明成為集合 去除重復(fù)項(xiàng)后再轉(zhuǎn)換為列表
注意: 由于集合具有無序性 因此得出的結(jié)果序列會(huì)發(fā)生變化,在規(guī)定輸出順序時(shí)謹(jǐn)慎使用
輸出結(jié)果:
{1, 2, 'B', 'C', 3, 'A', 4}
總結(jié):
1,如何創(chuàng)建一個(gè)集合:set() {}
2,集合與列表、元組的區(qū)別 : 無序 不能索引和切片 對(duì)象具有唯一性
3,如何求并集 交集 差集 對(duì)稱差集(|,&,-,^)
4,兩種添加方法 和一種刪除方法: add()、 update()、 remove()
5,實(shí)踐 :如何使用集合:list(set(data));
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的python中hashset_python中的集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现dns欺骗_DNS欺骗攻
- 下一篇: 2023开年火药味儿十足 “大内存”机型