天天看點

Python--集合

集合(字典的近親)

集合的兩個功能:

•集合可以實作去重的功能;

•集合可以實作關系測試; 交集, 差集,并集, 是否子集, 是否沒有交集........

集合set的定義

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

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

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

•工廠方法定義集合時, 括号裡面是可疊代的對象, eg: 數值類型不可以;

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

應用: 如何實作清單去重?

•轉換為集合資料類型; set(清單)

•字典的fromkeys方法實作;

# 實作清單去重 1 :

# 實作清單去重 2 :

集合的特性

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

•是以不支援索引,也不支援切片;也不支援重複;也不支援連接配接;

•支援成員操作符;

•支援for循環;

# 集合支援 for 循環,是可疊代的;

集合的增删改查

•增

查- (關系測試操作)

# 交集

方法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

本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/2059218

下一篇: Python--字典