Python--集合

來源:互聯網
上載者:User

標籤:產生隨機數   保留   dom   刪除   隨機數   set   blob   之間   random   

集合( 字典的近親

集合的兩個功能:

?集合可以實現去重的功能;

?集合可以實現關係測試; 交集, 差集,並集, 是否子集, 是否沒有交集........

 

集合set的定義

?集合是不重複的資料結構;

# 如果花括弧裡面為空白,則是字典類型;

 

# 定義集合的第一種方式 ;

 

?Factory 方法定義集合時, 括弧裡面是可迭代的對象, eg: 數實值型別不可以;

# 定義集合的第二種方式 ; 定義一個空的集合;

 

 

 

應用: 如何?列表去重?

?轉換為集合資料類型; set(列表)

?字典的fromkeys方法實現;

 

# 實現列表去重 1 :

 

 

# 實現列表去重 2 :

 

 

 

集合的特性

?集合是無序的, 不重複的資料類型;

?因此不支援索引,也不支援切片;也不支援重複;也不支援串連;

?支援成員操作符;

?支援for迴圈;

 

# 集合支援 for 迴圈,是可迭代的;

 

 

集合的增刪改查

?

 

 

查- (關係測試操作)

# 交集

方法1:

 

方法2:

 

# 並集

方法1:

 

方法2:

 

# 差集

方法1:

 

方法2:

 

# 對等差分

方法1:

 

方法2:

 

 

?s1.issubset(s2)

?s1.issuperset(s2)

?s1.isdisjoint(s2)

 

 

 

?s.remove刪除集合指定元素, 如果不存在,則報錯;

 

?s.discard刪除集合指定元素, 如果不存在,do nothing;

 

?s.clear清空集合元素

 

 

 

應用:

(華為機試題)題目描述

明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性, 他先用電腦產生了N個1到1000

之間的隨機整數(N≤1000), N是使用者輸入的,對於 其中重複的數字,只保留一個,把其餘相同的數去

掉,不同的數對應 著不同的學生的學號。然後再把這些數從小到大排序,按照排好的順 序去找同學做調

查。請你協助明明完成“去重”與“排序”的工作;

?提示:

      ?產生隨機數,

import random

random.randint(1,1000)

?列表的去重

 

 

總結

?可變資料類型: 列表, 字典, 集合

?不可變資料類型: 數實值型別, 字串, 元組

- 可變資料類型實現某個功能, 直接改變可變的資料類型;

- 不可變資料類型實現某個功能,需要將結果賦值給另外一個變數;

 

是否實現for迴圈

 ?可迭代資料類型: str, list, tuple, dict, set

 ?不可迭代資料類型:數實值型別

是否支援索引,切片, 重複和串連特性

 ?有序的資料類型: str, list, tuple

 ?無序的資料類型: dict, set


Python--集合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.