位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > Python > 問(wèn)題詳情

在python中,set的特點(diǎn)

提問(wèn)人:楊紫紅發(fā)布時(shí)間:2020-11-26
set的內(nèi)部結(jié)構(gòu)和dict很像,唯一區(qū)別是不存儲(chǔ)value,因此,判斷一個(gè)元素是否在set中速度很快。
set存儲(chǔ)的元素和dict的key類似,必須是不變對(duì)象,因此,任何可變對(duì)象是不能放入set中的。
最后,set存儲(chǔ)的元素也是沒(méi)有順序的。

set的這些特點(diǎn),可以應(yīng)用在哪些地方呢?
星期一到星期日可以用字符串'MON', 'TUE', ... 'SUN'表示。
假設(shè)我們讓用戶輸入星期一至星期日的某天,如何判斷用戶的輸入是否是一個(gè)有效的星期呢?
可以用 if 語(yǔ)句判斷,但這樣做非常繁瑣:
x = '???' # 用戶輸入的字符串
if x!= 'MON' and x!= 'TUE' and x!= 'WED' ... and x!= 'SUN':
    print 'input error'
else:
    print 'input ok'
注意:if 語(yǔ)句中的...表示沒(méi)有列出的其它星期名稱,測(cè)試時(shí),請(qǐng)輸入完整。

如果事先創(chuàng)建好一個(gè)set,包含'MON' ~ 'SUN':
weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])
再判斷輸入是否有效,只需要判斷該字符串是否在set中:
x = '???' # 用戶輸入的字符串
if x in weekdays:
    print 'input ok'
else:
    print 'input error'
這樣一來(lái),代碼就簡(jiǎn)單多了。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部