欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python代碼閱讀--列表元素邏輯判斷

 更新時(shí)間:2021年09月29日 10:23:40   作者:FelixZ  
本篇閱讀的三份代碼的功能分別是判斷列表中的元素是否都符合給定的條件;判斷列表中是否存在符合給定的條件的元素;以及判斷列表中的元素是否都不符合給定的條件,下面小編將在文章里詳細(xì)介紹,需要的朋友可以參考下

1、every

def every(lst, fn=lambda x: x):
  return all(map(fn, lst))

# EXAMPLES
every([4, 2, 3], lambda x: x > 1) # True
every([1, 2, 3]) # True

every 用于判斷列表 lst 中的元素是否都符合給定的判斷條件 fn 。

代碼中首先使用 map 返回一個(gè)迭代器,該迭代器會(huì)將判斷條件 fn 應(yīng)用于所有的列表元素上。然后使用 all 函數(shù)判斷迭代器中的元素是否都為 True 。

all(iterable) 接收一個(gè)可迭代對(duì)象,如果這個(gè)對(duì)象中的所有元素都為 True ,則函數(shù)返回 True 。注意,當(dāng)該對(duì)象為空時(shí),也返回 True 。該函數(shù)等價(jià)于:

def all(iterable):
  for element in iterable:
    if not element:
      return False
  return True


2、some

def some(lst, fn=lambda x: x):
  return any(map(fn, lst))

# EXAMPLES
some([0, 1, 2, 0], lambda x: x >= 2 ) # True
some([0, 0, 1, 0]) # True

some 用于判斷列表 lst 列表中是否存在符合給定的條件 fn 的元素。

代碼中首先使用 map 返回一個(gè)迭代器,該迭代器會(huì)將判斷條件 fn 應(yīng)用于所有的列表元素上。然后使用 any 函數(shù)判斷迭代器中是否至少有一個(gè)元素為 True 。

any(iterable) 接收一個(gè)可迭代對(duì)象,如果這個(gè)對(duì)象中有任一元素為 True ,則函數(shù)返回 True 。注意,當(dāng)該對(duì)象為空時(shí),返回 False 。該函數(shù)等價(jià)于:

def any(iterable):
  for element in iterable:
    if element:
      return True
  return False


3、none

def none(lst, fn=lambda x: x):
  return all(not fn(x) for x in lst)

# EXAMPLES
none([0, 1, 2, 0], lambda x: x >= 2 ) # False
none([0, 0, 0]) # True

none 用于判斷列表 lst 中的元素是否都不符合給定的判斷條件 fn 。

代碼中首先使用生成器表達(dá)式生成一個(gè)生成器,該生成器會(huì)將判斷條件 not fn 應(yīng)用于所有的列表元素上。然后使用 all 函數(shù)判斷迭代器中的元素是否都為 True 。

lst = [0, 1, 2, 0]

def fn(x):
  return x >= 2

type(not fn(x) for x in lst) # <class 'generator'>

到此這篇關(guān)于Python代碼閱讀--列表元素邏輯判斷的文章就介紹到這了,更多相關(guān)Python 列表元素邏輯判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論