Pythonのany / allが見つかったオブジェクトを返さないのはなぜですか?

トーマス・アーレ

Pythonandor演算子は、TrueまたはFalseではなく値を返します。これは、次のような場合に役立ちます。

x = d.get(1) or d.get(2) or d.get(3)

どちらがxの値になるd[1]d[2]またはd[3]どちらが存在するか。これは、関数型言語で多分モナドを追加するのと少し似ています。

私はいつも、Pythonany()関数が繰り返しのようになることを望んでいましたor次のように、見つかったオブジェクトを返すのは理にかなっていると思います。

any([None, None, 1, 2, None]) == 1
any(notnull_iterator) = try: return next(notnull_iterator); except: return None

そして同様にall()この変更は完全に下位互換性があり、API全体の一貫性が向上するように思われます。

誰かがこのトピックの以前の議論を知っていますか?

georg

私はあなたが探していると思います

first = lambda s: next((x for x in s if x), None)

例えば

first([None, None,1, 2,None]) # 1

「なぜ」の質問はここで答えられます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

オブジェクトが見つからない場合にflowableがデータを返さないのはなぜですか

分類Dev

GMOCKオブジェクトが依存性注入でEXPECT_CALLによって設定された値を返さないのはなぜですか

分類Dev

なぜFakerがDatetimeオブジェクトを返さないのですか?

分類Dev

日付オブジェクトと時刻オブジェクトを追加すると、誤った値が返されるのはなぜですか?

分類Dev

python dict.update()がオブジェクトを返さないのはなぜですか?

分類Dev

Thymeleafがオブジェクトを見つけられないのはなぜですか?

分類Dev

for..in()ループが配列内のオブジェクトを返さないのはなぜですか?

分類Dev

find_eachが実際のARオブジェクトを返さないのはなぜですか?

分類Dev

getメソッドがreqwestでResponseオブジェクトを返さないのはなぜですか?

分類Dev

オブジェクトメソッドが値を返さないのはなぜですか?

分類Dev

$( 'selector')。findが$ .find( 'selector')と同じオブジェクトを返さないのはなぜですか?

分類Dev

このDataCamp演習でオブジェクト「状態」が見つからないのはなぜですか?

分類Dev

indexOfの配列にオブジェクトが見つからないのはなぜですか

分類Dev

2つが初期化されたときに、この関数が1つのオブジェクトのみを返すのはなぜですか?

分類Dev

「見えない」オブジェクトがすぐに収集されないのはなぜですか?

分類Dev

Object.hashCode()が一見同一のオブジェクトに対して同じ値を返さないのはなぜですか

分類Dev

toJS()が監視可能なオブジェクトに適用されたときに空のオブジェクトを返すのはなぜですか?-MobX

分類Dev

同じ行で宣言された2つのクラスオブジェクトが1つのオブジェクトを指すのはなぜですか?

分類Dev

Pythonでオブジェクトを返す必要がないのはなぜですか?

分類Dev

キャッチされないエラー:オブジェクトはReactの子として無効です(見つかった:[オブジェクトHTMLImageElement])

分類Dev

この代入演算子がコピーされたオブジェクトを返さないのはなぜですか?

分類Dev

2つの異なるストリームに書き込まれた単一のオブジェクトが、読み返されたときに2つの異なるオブジェクトを表すのはなぜですか?

分類Dev

配列オブジェクトをループして重複を見つけます。1つの要素が「未定義」を返すのはなぜですか?

分類Dev

配列が[オブジェクトオブジェクト]に変わったのはなぜですか

分類Dev

オブジェクトが未定義を返すのはなぜですか?

分類Dev

str + MarkupがMarkupオブジェクトを返すのはなぜですか?

分類Dev

jQuery val() が空/オブジェクトを返すのはなぜですか

分類Dev

モジュールをインストールした後でも、「モジュールのロード可能なオブジェクトが見つかりません」というメッセージが表示されるのはなぜですか?

分類Dev

オブジェクトをハッシュテーブルのキーとして使用したくないのに、2つの等しいオブジェクトが等しいハッシュコードを返す必要があるのはなぜですか?

Related 関連記事

  1. 1

    オブジェクトが見つからない場合にflowableがデータを返さないのはなぜですか

  2. 2

    GMOCKオブジェクトが依存性注入でEXPECT_CALLによって設定された値を返さないのはなぜですか

  3. 3

    なぜFakerがDatetimeオブジェクトを返さないのですか?

  4. 4

    日付オブジェクトと時刻オブジェクトを追加すると、誤った値が返されるのはなぜですか?

  5. 5

    python dict.update()がオブジェクトを返さないのはなぜですか?

  6. 6

    Thymeleafがオブジェクトを見つけられないのはなぜですか?

  7. 7

    for..in()ループが配列内のオブジェクトを返さないのはなぜですか?

  8. 8

    find_eachが実際のARオブジェクトを返さないのはなぜですか?

  9. 9

    getメソッドがreqwestでResponseオブジェクトを返さないのはなぜですか?

  10. 10

    オブジェクトメソッドが値を返さないのはなぜですか?

  11. 11

    $( 'selector')。findが$ .find( 'selector')と同じオブジェクトを返さないのはなぜですか?

  12. 12

    このDataCamp演習でオブジェクト「状態」が見つからないのはなぜですか?

  13. 13

    indexOfの配列にオブジェクトが見つからないのはなぜですか

  14. 14

    2つが初期化されたときに、この関数が1つのオブジェクトのみを返すのはなぜですか?

  15. 15

    「見えない」オブジェクトがすぐに収集されないのはなぜですか?

  16. 16

    Object.hashCode()が一見同一のオブジェクトに対して同じ値を返さないのはなぜですか

  17. 17

    toJS()が監視可能なオブジェクトに適用されたときに空のオブジェクトを返すのはなぜですか?-MobX

  18. 18

    同じ行で宣言された2つのクラスオブジェクトが1つのオブジェクトを指すのはなぜですか?

  19. 19

    Pythonでオブジェクトを返す必要がないのはなぜですか?

  20. 20

    キャッチされないエラー:オブジェクトはReactの子として無効です(見つかった:[オブジェクトHTMLImageElement])

  21. 21

    この代入演算子がコピーされたオブジェクトを返さないのはなぜですか?

  22. 22

    2つの異なるストリームに書き込まれた単一のオブジェクトが、読み返されたときに2つの異なるオブジェクトを表すのはなぜですか?

  23. 23

    配列オブジェクトをループして重複を見つけます。1つの要素が「未定義」を返すのはなぜですか?

  24. 24

    配列が[オブジェクトオブジェクト]に変わったのはなぜですか

  25. 25

    オブジェクトが未定義を返すのはなぜですか?

  26. 26

    str + MarkupがMarkupオブジェクトを返すのはなぜですか?

  27. 27

    jQuery val() が空/オブジェクトを返すのはなぜですか

  28. 28

    モジュールをインストールした後でも、「モジュールのロード可能なオブジェクトが見つかりません」というメッセージが表示されるのはなぜですか?

  29. 29

    オブジェクトをハッシュテーブルのキーとして使用したくないのに、2つの等しいオブジェクトが等しいハッシュコードを返す必要があるのはなぜですか?

ホットタグ

アーカイブ