如何在Python?中獲取單成員集合中的唯一元素
Python 中要獲取單成員集中的唯一元素:
- 使用
iter()
函數(shù)從集合中獲取迭代器。 - 使用
next()
函數(shù)從迭代器中獲取元素。 - 如果集合為空,請指定默認(rèn)值。
my_set = {'jiyik.com'} element = next(iter(my_set), None) print(element) # ??? jiyik.com
我們使用 iter()
函數(shù)從集合中獲取迭代器對象。
next()
函數(shù)從提供的迭代器返回下一個項目。
該函數(shù)可以傳遞一個默認(rèn)值作為第二個參數(shù)。
如果迭代器耗盡或為空,則返回默認(rèn)值。
如果迭代器耗盡或為空且未提供默認(rèn)值,則會引發(fā)
StopIteration
異常。
我們使用 None 作為默認(rèn)值,但我們可以使用適合我們的用例的任何其他值。
my_set = set() element = next(iter(my_set), None) print(element) # ??? None
該集合為空,因此返回默認(rèn)值 None。
或者,我們可以使用元組解包。
使用元組解包獲取單成員集合中的唯一元素
使用元組拆包獲取單個成員集中的唯一元素,例如 (element,) = my_set
。 元組解包語法會將元素的值分配給變量。
my_set = {'jiyik.com'} (element,) = my_set print(element) # ??? jiyik.com
請注意
,我們在變量名后使用了尾隨逗號。
右側(cè)可迭代對象的第一個元素被分配給左側(cè)的變量。
(element,) = ['a'] print(element) # ??? 'a'
或者,我們可以使用 list()
類。
使用 list() 獲取單成員集合中的唯一元素
要獲取單成員集中的唯一元素:
- 使用
list()
類將集合對象轉(zhuǎn)換為列表。 - 訪問索引 0 處的列表。
my_set = {'jiyik.com'} my_list = list(my_set) element = my_list[0] print(element) # ??? jiyik.com
集合對象不可訂閱(不能通過索引訪問),但列表可以。
列表中的第一個元素的索引為 0,因此我們所要做的就是訪問索引 0 處的列表元素以獲取該集合的唯一成員。
或者,我們可以使用 for 循環(huán)。
使用 for 循環(huán)獲取單個成員集中的唯一元素
要獲取單成員集中的唯一元素:
- 使用 for 循環(huán)遍歷集合。
- 將元素分配給變量。
my_set = {'jiyik.com'} element = None for element in my_set: break print(element) # ??? jiyik.com
我們使用
for
循環(huán)遍歷集合并將其唯一元素分配給變量。我們還使用break
語句退出for
循環(huán)。break
語句跳出最內(nèi)層的 for 或 while 循環(huán)。
如果我們的集合保證只包含一個元素,則沒有必要這樣做。
或者,我們可以使用 set.pop()
方法。
使用 set.pop() 獲取單成員集合中的唯一元素
使用 set.pop()
方法獲取單成員集合中的唯一元素,例如 element = my_set.pop()
。 set.pop()
方法將從集合對象中移除并返回唯一的元素。
my_set = {'jiyik.com'} element = my_set.pop() print(element) # ??? jiyik.com print(my_set) # ??? set()
set.pop
方法從集合中刪除并返回任意元素。
如果集合為空,該方法將引發(fā)
KeyError
異常。
如果我們需要處理 KeyError
異常,請使用 try/except
語句。
my_set = set() try: element = my_set.pop() print(element) print(my_set) except KeyError: # ??? this runs print('The set object is empty')
set
對象為空,因此set.pop()
方法引發(fā)KeyError
異常,然后由 except 塊處理。
僅當(dāng)我們需要從集合中檢索和刪除元素時才使用 set.pop()
方法。
到此這篇關(guān)于在 Python 中獲取單成員集合中的唯一元素的文章就介紹到這了,更多相關(guān)Python單成員集合中內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
你應(yīng)該知道的Python3.6、3.7、3.8新特性小結(jié)
這篇文章主要介紹了你應(yīng)該知道的Python3.6、3.7、3.8新特性小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05pycharm最新免費激活碼至2099年(21.3.18親測可用)
這篇文章主要介紹了pycharm最新的激活碼及激活碼的使用方法,幫助大家更好的利用pycharm學(xué)習(xí)python,感興趣的朋友可以了解下。2021-03-03Python數(shù)學(xué)建模學(xué)習(xí)模擬退火算法整數(shù)規(guī)劃問題示例解析
整數(shù)規(guī)劃問題在工業(yè)、經(jīng)濟(jì)、國防、醫(yī)療等各行各業(yè)應(yīng)用十分廣泛,是指規(guī)劃中的變量(全部或部分)限制為整數(shù),屬于離散優(yōu)化問題Discrete Optimization2021-10-10