【Python】Python - Sets。Python Sets.

 【Python】Python - Sets。Python Sets.

Set

Sets 也是Python  中4種 collections資料型態的一種,常作為容器使用,可以儲存多個items到1個變數裡面。其他3種為List, Tuple,與Dictionaey,這些容器都有不同的使用方式與情境,對資料的品質也不同。

Set內儲存的資料沒有順序(unordered),也沒有索引值(unindexed)。

Set宣告時使用大括弧{}。

範例

建立一個 Set:

thisset = {"apple""banana""cherry"}
print(thisset)
上面輸出: {'cherry', 'apple', 'banana'}

Note: 因為Sets沒有順序,所以存入sets內的資料在取出時無法確定哪個會先被取出。


Set Items

Set items 是無順序的,無法改變的,且不會儲存重複的值。


沒有順序的

沒有順序的表示set裡面的items沒有定義的順序。

Set的items的順序每次使用的時候都不一樣,且沒有索引的key值。


不可改變的

Sets是無法改變的,表示當set被建立後我們無法改變裡面的items。

一但set被建立後,你無法改變裡面的items,但你可以新增新的items。


不允許重複值

Sets不可以有2個items是相同的值。

範例

重複值將被忽略:

thisset = {"apple""banana""cherry""apple"}

print(thisset)
上面輸出: {'banana', 'cherry', 'apple'}

取得Set的長度

為了知道set內有多少個items可以使用len() 方法。

範例

取得set內items的個數:

thisset = {"apple""banana""cherry"}

print(len(thisset))
上面輸出: 3

Set items的資料型態

Set items可以儲存許多的資料型態:

範例

字串,整數與布林資料型態:

set1 = {"apple""banana""cherry"}
set2 = {15793}
set3 = {TrueFalseFalse}
上面輸出,順序可能不同:
{'cherry', 'apple', 'banana'}
{1, 3, 5, 7, 9}
{False, True}

a Set可以儲存不同的資料型態:

範例

A set 可以儲存不同的資料型態,如字串,整數與布林值,如下所示:

set1 = {"abc"34True40"male"}
上面如果使用print(set1)可能有下面的輸出:{True, 34, 40, 'male', 'abc'}

type()

從python 來看,set可以定義為繼承自object並為'set'資料型態:

<class 'set'>

範例

set的資料型態是什麼?

myset = {"apple""banana""cherry"}
print(type(myset))
上面輸出: <class 'set'>

The set() 建構式

可以使用 set() 建構式去建立一個 set.

Example

使用 set() 建構式去建立一個 set.

thisset = set(("apple""banana""cherry")) # note the double round-brackets
print(thisset)
上面輸出: {'banana', 'apple', 'cherry'}

Python Collections (Arrays)

在python程式語言中有4種資料型態為collection 資料型態:

  • List 為一種collection,儲存的資料是有順序的,可改變的。准許重複的items。 
  • Tuple 為一種collection,儲存的資料是有順序的且無法改變的。准許重複的items。
  • Set 為一種collection,儲存的資料是無順序的且沒有序列號的。沒有重複的items值。
  • Dictionary 為一種collection,是有順序的*且可改變的。不允許重複的items值。

*從Python 3.7後, dictionaries 為有順序的。而在python3.6與更早以前,dictionary是沒有順序的。

在選擇一種collection的型態時,去了解其屬性與型態是有用的。對特定資料選擇正確的型態,不但可以正確的保留資料的正確,更能夠增加效率與安全性。







留言

這個網誌中的熱門文章

【多益】現點現做的英文怎麼說呢?

《Microsoft Word 應用》:圖片被文字蓋住解決方法,不可設定為固定行高

如何在Ubuntu系統上安裝Notepad ++ (Install Notepad++ On Ubuntu 16.04 / 17.10 / 18.04 / 20.04)