Python | 序列操作函數(shù) all() 和 any()

序列操作函數(shù) all()any()

說明: 將下面的代碼運行以后, 得到的結果, 就是all()函數(shù)和any()函數(shù)的使用方法說明,很詳細哦。

'''
all() 用來判斷給定的可迭代參數(shù)中所有的"元素"是否都為 Ture,
      具體判斷方法: 至少存在一個判斷結果為False的元素, 最后結果才是False,否則為True.
      (反證法,逐一判斷元素是否為false; 沒有元素時,理解為沒有判斷結果為false的元素,故結果為true)
      參數(shù)是'元組或列表',
      若元素是0、空、false, 結果就是返回 False
'''
print('\n1. all()函數(shù)的使用-------------------------\n')
print('-----當參數(shù)是列表時-----\n-----我們先定義一些特殊的列表-----\n')
li1=[] # 空列表,沒有元素,所以元素不含0\空\false,所以結果是true
li2=[0] # 元素為0
li3=[1,2,0] # 元素中含有0項
li4=[''] # 元素為'空'字符串
li5=[1,''] # 元素中含有'空'字符串
li6=[12,False] # 元素中含有False項
L=[li1,li2,li3,li4,li5,li6]
def printL(): # 定義函數(shù)
    j=1
    for item in L:
        print('li{}={}'.format(j,item))
        j+=1
        pass
    pass
printL() # 調(diào)用函數(shù)
# print(all([])) # 沒有元素=>沒有判斷結果是False的元素=>最后的判斷結果是True.
print() # 換行
# print('li1={}\nli2={}\nli3={}\nli4={}\nli5={}\nli6={}'.format(li1,li2,li3,li4,li5,li6))
print('-----當參數(shù)為列表時, all()函數(shù)的使用情況分析如下:-----\n')
print('列表{}, 沒有元素, 所以元素中不含"0/空/false", 返回結果為{}'.format(li1,all(li1)))
print('列表{}, 元素為0, 返回結果為{}'.format(li2,all(li2)))
print('列表{}, 元素中含有0項, 返回結果為{}'.format(li3,all(li3)))
print('列表{}, 元素為"空"字符串, 返回結果為{}'.format(li4,all(li4)))
print('列表{}, 元素中含有"空"字符串, 返回結果為{}'.format(li5,all(li5))) 
print('列表{}, 元素中函數(shù)False項, 返回結果為{}'.format(li6,all(li6)))
print() #換行
print('-----當參數(shù)是元組時-----\n-----我們先定義一些特殊情況的元組-----\n')
tuple1=() # 空列表,沒有元素,所以元素不含0\空\false,所以結果是true
tuple2=(0,) # 元素為0
tuple3=(1,2,0) # 元素中含有0項
tuple4=('',) # 元素為'空'字符串
tuple5=(1,'') # 元素中含有'空'字符串
tuple6=(23,False) # 元素中含有False項
y=(tuple1,tuple2,tuple3,tuple4,tuple5,tuple6)
def printTup(): # 定義一個函數(shù), 用來打印元組內(nèi)的各項元素
    '''
    輸出元組的各項元素
    :格式:例如:tuple2=(0,)
    '''
    i=1
    for item in y:
        print('tuple{}={}'.format(i,item))
        i+=1
    pass
printTup()  # 調(diào)用函數(shù), 輸出元組內(nèi)的各項元素
print() # 換行
print('-----當參數(shù)為元組時,all()函數(shù)的使用情況分析如下:------\n')
print('元組{}, 沒有元素,所以元素中不含"0/空/false", 返回結果為{}'.format(tuple1,all(tuple1))) 
print('元組{}, 元素為0, 返回結果為{}'.format(tuple2,all(tuple2)))
print('元組{}, 元素中含有0項, 返回結果為{}'.format(tuple3,all(tuple3)))
print('元組{}, 元素為"空"字符串, 返回結果為{}'.format(tuple4,all(tuple4)))
print('元組{}, 元素中含有"空"字符串, 返回結果為{}'.format(tuple5,all(tuple5)))
print('元組{}, 元素中含有False項,返回結果為{}'.format(tuple6,all(tuple6)))
print() # 換行
print() # 換行
'''
any() 如果有任意一個是true,則返回true,
      具體判斷方法: 任意一個元素為True, 結果為True, 否則結果為False.
      (反證法,逐一判斷元素是否為true; 沒有元素時,理解為沒有判斷結果為true的元素,故結果為false)
      參數(shù)是'元組或列表'
      若其元素中存在0、空、false以外的項, 結果都要返回 True
'''
print('2. any()函數(shù)的使用-------------------------\n')
print('-----當參數(shù)是列表時-----\n-----我們先定義一些特殊情況的列表-----\n')
li1=[]
li2=[0]
li3=['']
li4=[False]
li5=[0,False,'']
li6=[0,False,'',1]
li7=[True,0,'',False]
print('li1={}\nli2={}\nli3={}\nli4={}\nli5={}\nli6={}\nli7={}\n'.format(li1,li2,li3,li4,li5,li6,li7))
print('-----當參數(shù)是列表時, any()函數(shù)使用情況分析如下:-----\n')
L2=[li1,li2,li3,li4,li5,li6,li7]
def printRes():
    '''
    打印any()函數(shù)的使用情況分析
    :判斷條件:至少存在一個判斷結果為True的元素, 最后的結果才是True, 否則為False
    :打印注釋:給出判斷結果的原因說明
    '''
    x=1
    for item in L2:
        print('列表li{}={}, 使用any()函數(shù),返回的結果是{}'.format(x,item,any(item)))
        if any(item)==False:
            print('因為沒有判斷結果是True的元素, 所以返回結果是False\n')
            pass
        else:
            print('因為有判斷結果是True的元素, 所以返回的結果是True\n')
        x+=1
        pass
    pass
printRes() # 調(diào)用函數(shù)
# print(any([])) # 沒有元素=>沒有判斷結果是true的元素=>最后的判斷結果是False.
print() #換行
print('-----當參數(shù)是元組時-----\n-----我們先定義一些特殊情況的元組-----\n')
tup1=()
tup2=(0,)
tup3=('',)
tup4=(False,)
tup5=(0,'',False)
tup6=(1,0,'',False)
tup7=(0,True,'',False)
print('-----當參數(shù)是元組時, any()函數(shù)的使用情況分如下:-------\n')
i=[tup1,tup2,tup3,tup4,tup5,tup6,tup7] # 將上面的7個元組, 放進列表i內(nèi), 便于后面的操作
def printLi(): # 定義一個函數(shù), 輸出i的各項元素, 也就是打印tup1~tup7, 按格式輸出
    '''
    輸出列表i內(nèi)的元素
    :格式:例如:tup2=(0,)
    '''
    x=1     # 定義一個函數(shù)內(nèi)部變量, 便于循環(huán)時使用
    for item in i:
        print('tup{}={}'.format(x,item)) # 格式化輸出, 按照指定的格式進行打印
        x+=1 # 為了使循環(huán)打印的結果正確, 必須自增1
printLi() # 調(diào)用函數(shù)
print() # 換行
Tup=[tup1,tup2,tup3,tup4,tup5,tup6,tup7]
def printAns():
    '''
    打印any()函數(shù)的使用情況分析
    :判斷條件:至少存在一個判斷結果為True的元素, 最后的結果才是True, 否則為False
    :打印注釋:給出判斷結果的原因說明
    '''
    x=1
    for item in Tup:
        print('元組tup{}={}, 使用any()函數(shù),返回的結果是{}'.format(x,item,any(item)))
        if any(item)==False:
            print('因為沒有判斷結果是True的元素, 所以返回結果是False\n')
            pass
        else:
            print('因為有判斷結果是True的元素, 所以返回的結果是True\n')
        x+=1
        pass
    pass
printAns() # 調(diào)用函數(shù)
print() # 換行

輸出的結果如下:


1. all()函數(shù)的使用-------------------------

-----當參數(shù)是列表時-----
-----我們先定義一些特殊的列表-----

li1=[]
li2=[0]
li3=[1, 2, 0]
li4=['']
li5=[1, '']
li6=[12, False]

-----當參數(shù)為列表時, all()函數(shù)的使用情況分析如下:-----

列表[], 沒有元素, 所以元素中不含"0/空/false", 返回結果為True
列表[0], 元素為0, 返回結果為False
列表[1, 2, 0], 元素中含有0項, 返回結果為False
列表[''], 元素為"空"字符串, 返回結果為False
列表[1, ''], 元素中含有"空"字符串, 返回結果為False
列表[12, False], 元素中函數(shù)False項, 返回結果為False

-----當參數(shù)是元組時-----
-----我們先定義一些特殊情況的元組-----

tuple1=()
tuple2=(0,)
tuple3=(1, 2, 0)
tuple4=('',)
tuple5=(1, '')
tuple6=(23, False)

-----當參數(shù)為元組時,all()函數(shù)的使用情況分析如下:------

元組(), 沒有元素,所以元素中不含"0/空/false", 返回結果為True
元組(0,), 元素為0, 返回結果為False
元組(1, 2, 0), 元素中含有0項, 返回結果為False
元組('',), 元素為"空"字符串, 返回結果為False
元組(1, ''), 元素中含有"空"字符串, 返回結果為False
元組(23, False), 元素中含有False項,返回結果為False


2. any()函數(shù)的使用-------------------------

-----當參數(shù)是列表時-----
-----我們先定義一些特殊情況的列表-----

li1=[]
li2=[0]
li3=['']
li4=[False]
li5=[0, False, '']
li6=[0, False, '', 1]
li7=[True, 0, '', False]

-----當參數(shù)是列表時, any()函數(shù)使用情況分析如下:-----

列表li1=[], 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

列表li2=[0], 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

列表li3=[''], 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

列表li4=[False], 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

列表li5=[0, False, ''], 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

列表li6=[0, False, '', 1], 使用any()函數(shù),返回的結果是True
因為有判斷結果是True的元素, 所以返回的結果是True

列表li7=[True, 0, '', False], 使用any()函數(shù),返回的結果是True
因為有判斷結果是True的元素, 所以返回的結果是True


-----當參數(shù)是元組時-----
-----我們先定義一些特殊情況的元組-----

-----當參數(shù)是元組時, any()函數(shù)的使用情況分如下:-------

tup1=()
tup2=(0,)
tup3=('',)
tup4=(False,)
tup5=(0, '', False)
tup6=(1, 0, '', False)
tup7=(0, True, '', False)

元組tup1=(), 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

元組tup2=(0,), 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

元組tup3=('',), 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

元組tup4=(False,), 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

元組tup5=(0, '', False), 使用any()函數(shù),返回的結果是False
因為沒有判斷結果是True的元素, 所以返回結果是False

元組tup6=(1, 0, '', False), 使用any()函數(shù),返回的結果是True
因為有判斷結果是True的元素, 所以返回的結果是True

元組tup7=(0, True, '', False), 使用any()函數(shù),返回的結果是True
因為有判斷結果是True的元素, 所以返回的結果是True


最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容