1. 程式人生 > >Day3:數據類型(布爾值、集合)

Day3:數據類型(布爾值、集合)

linux課程 類型 pre car per 報名 一個 inux 常用

一、布爾值

布爾值和布爾代數的表示完全一致,一個布爾值只有TrueFalse兩種值,要麽是True,要麽是False,在Python中,可以直接用TrueFalse表示布爾值(請註意大小寫),也可以通過布爾運算計算出來:

技術分享
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
技術分享

布爾值可以用andornot運算。

and運算是與運算,只有所有都為Trueand運算結果才是True

技術分享
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True
技術分享

or運算是或運算,只要其中有一個為Trueor運算結果就是True

技術分享
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True
技術分享

not運算是非運算,它是一個單目運算符,把True變成FalseFalse變成True

技術分享
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
技術分享

布爾值經常用在條件判斷中,比如:

if age >= 18:
    print(‘adult‘)
else:
    print(‘teenager‘)

所有的數據類型自帶布爾值,只有0,None,空的布爾值為False

二、集合

定義集合:
集合內的元素必須是唯一的;
集合內的元素必須是可hash的,也是就不可變類型;
集合是無序的。

集合的作用一:關系運算;
集合的作用二:去重。

1、集合的創建

{1,2,3,1}

定義可變集合set

>>> set_test=set(‘hello‘)
>>> set_test
{‘l‘, ‘o‘, ‘e‘, ‘h‘}

改為不可變集合frozenset

>>> f_set_test=frozenset(set_test)
>>> f_set_test
frozenset({‘l‘, ‘e‘, ‘h‘, ‘o‘})

2、集合的常用操作:關系運算

python_s={‘egon‘,‘alex‘,‘鋼蛋‘,‘老王‘}

linux_s={‘alex‘,‘鋼蛋‘,‘歐德博愛‘,‘艾裏科四‘}

python_s & linux_s 交集

python_s | linux_s 並集

取只報名了python課程的學生:差集

python_s - linux_s

取只報名了linux課程的學生:差集

linux_s - python_s

取沒有同時報名python和linux課程的學:對稱差集

linux_s ^ python_s

python_s.intersection(linux_s)  交集

python_s.union(linux_s)     並集

python_s.difference(linux_s)) 差集#python_s-linux_s

python_s.symmetric_difference(linux_s)     對稱差集,python_s ^ linux_s

python_s.difference_update(linux_s)      將linux_s的值更新到python_s的幾個集合中

.add()      給集合添加元素

.remove()    刪除集合中的元素,無元素會報錯

.discard()    刪除集合中的元素,不報錯

.issubset()   判斷是否是子集

.issuperset()  判斷是否是父集

.isdisjoint()   判斷是否有交集,沒有交集返回True

Day3:數據類型(布爾值、集合)