ホームページ バックエンド開発 Python チュートリアル Python でのリスト内包表記と生成された式

Python でのリスト内包表記と生成された式

Jun 16, 2016 am 08:47 AM
表現

リスト内包表記

新しいリストを作成するのではなくリストを変更する必要がある場合は、リスト内包表記を使用できます。リスト分析式は次のとおりです:

[expr for iter_var in iterable] [expr for iter_var in iterable if cond_expr]
最初の構文: 最初に iterable 内のすべての内容を反復し、各反復で put iterable Put the iter_var の対応する内容を取得し、式に iter_var の内容を適用し、最後に式の計算値を使用してリストを生成します。
2 番目の構文: 条件を満たす内容のみを iter_var の反復可能な対応する内容に入れ、式に iter_var の内容を適用し、最後にリストを生成します。式の計算値。

例:
コードをコピーします コードは次のとおりです:

>>> ;> L= [(x+1,y+1) for x in range(3) for y for range(5)]
>>>L
[(1) 、1)、(1、2)、(1、3)、(1、4)、(1、5)、(2、1)、(2、2)、(2、3)、(2、4) ), (2 , 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5)]
>>> N=[ range(10) の x に対して x+10 if x>5]
>>[16, 17, 18, 19]


ジェネレーター式
ジェネレーター式は Python2.4 で導入されました。シーケンスが長すぎて、一度に 1 つの要素のみを取得する必要がある場合は、リスト解析の代わりにジェネレーター式の使用を検討する必要があります。ジェネレーター式の構文は、次のようにジェネレーター式が [] ではなく () で囲まれていることを除いて、リスト分析と同じです:

コードをコピーコードは次のとおりです。
(iterable の iter_var の式)
(cond_expr の場合、iter_var の式)

例:

コードをコピー コードは次のとおりです:
>>> L= (i + 1 for i in range(10) if i % 2)
>>> L

>>> for i in L :
... L1.append(i)
...
>>> L1
[2, 4, 6, 8, 10]


ジェネレーター式は実際には数値のリストを作成しませんが、計算されるたびに項目を「生成」するジェネレーターを返します。 ジェネレーター式は「遅延評価」(「遅延評価」とも訳されますが、need メソッドによるこの呼び出しは遅延と訳したほうが良いと思います)を使用し、取得(評価)時にのみ割り当てられるため、メモリを使用する方が効率的です。リストは比較的長いです。 Python のジェネレーター オブジェクトは、遅延リストのようなものです。
いくつかの注意事項:

1. ループを実行する必要がある場合。リスト分析の代わりにループを使用してみてください。これは、Python が提唱する直観性により一致します。


コードをコピー コードは次のとおりです: シーケンス内の項目:
process(item)


2. より直接的な方法で実装できる組み込みの操作または型がある場合は、リスト内包表記を使用しないでください。
たとえば、リストをコピーする場合は、L1=list(L) を使用するだけです。


コードをコピー コードは次のとおりです。 L1=[x for x in L]

3. 各要素を呼び出して結果を返す必要がある場合は、次のようにする必要があります。 L1=[f(x) for x in L] の代わりに L1=map(f,L ) を使用します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python 式の構文エラーを解決するにはどうすればよいですか? Python 式の構文エラーを解決するにはどうすればよいですか? Jun 24, 2023 pm 05:04 PM

Python は高レベルのプログラミング言語であり、学習と使用が簡単です。 Python プログラムを作成する必要があると、必然的に構文エラーに遭遇することになります。式の構文エラーはよくあるエラーです。この記事では、Python で式の構文エラーを解決する方法について説明します。式の構文エラーは Python で最も一般的なエラーの 1 つであり、通常は構文の間違った使用法や必要なコンポーネントの欠落によって発生します。 Python では、式は通常、数値、文字列、変数、演算子で構成されます。ごくありふれた

C および C++ では、式またはステートメントを区切るためにカンマが使用されます。 C および C++ では、式またはステートメントを区切るためにカンマが使用されます。 Sep 09, 2023 pm 05:33 PM

C または C++ では、カンマ「,」はさまざまな用途に使用されます。ここではそれらの使用方法を学びます。演算子としてのカンマ。カンマ演算子は、最初のオペランドを評価して結果を破棄し、次に 2 番目のオペランドを評価して値を返す二項演算子です。カンマ演算子は、C または C++ では優先順位が最も低くなります。例 #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} ここでは、x に 60 が代入されます。次のステートメントでは、 func1( が最初に実行されます

C言語の指数関数式入門 C言語の指数関数式入門 Feb 18, 2024 pm 01:11 PM

C 言語での指数関数式の書き方とコード例の紹介 指数関数とは? 指数関数は数学でよく使われる関数で、f(x)=a^x の形式で表現できます。 a は底、x は指数です。指数関数は主に、指数関数的な増加または指数関数的な減衰を説明するために使用されます。指数関数のコード例 C 言語では、数学ライブラリの pow() 関数を使用して指数関数を計算できます。

Javaのラムダ式 Javaのラムダ式 Jun 09, 2023 am 10:17 AM

Java のラムダ式 Java 8 のリリースにより、ラムダ式は Java 開発者の間で最も懸念され、議論されるトピックの 1 つになりました。ラムダ式を使用すると、Java プログラマーの退屈な記述方法が簡素化され、プログラムの可読性と保守性も向上します。この記事では、Java のラムダ式と、ラムダ式が Java コードでよりシンプルで直感的なプログラミング エクスペリエンスを提供する方法について詳しく説明します。

ラムダ式を使用してコレクションをループする ラムダ式を使用してコレクションをループする Feb 19, 2024 pm 07:32 PM

ラムダ式は、コレクションを反復処理するために便利に使用できる匿名関数です。この記事では、ラムダ式を使用してコレクションを反復処理する方法を紹介し、具体的なコード例を示します。 Python では、ラムダ式の構文形式は次のとおりです。 ラムダ パラメータ リスト: 式のパラメータ リストには、カンマで区切られた 1 つ以上のパラメータを含めることができます。式はラムダ関数の戻り値です。以下の簡単な例を見てみましょう。

Java ラムダ式の実践: コードを使用して関数型プログラミングの謎を解く Java ラムダ式の実践: コードを使用して関数型プログラミングの謎を解く Feb 26, 2024 am 10:25 AM

ラムダ式は、名前が示すように、矢印記号 (->) を中心とした匿名関数です。コードのブロックを引数として他のメソッドに渡したり、後で使用するために変数に格納したりできます。ラムダ式の構文は簡潔で理解しやすく、データ フローの処理や並列コンピューティングに非常に適しています。 1. ラムダ式の基本構文 ラムダ式の基本構文は以下のとおりです。 (パラメータリスト)->{コードブロック} このうち、パラメータリストとコードブロックはオプションです。パラメータが 1 つだけの場合は、括弧を省略できます。コード ブロックが 1 行のみの場合は、中括弧を省略できます。たとえば、次のコード ブロックはラムダ式を使用して数値に 1 を加算します。

Python ラムダ式の上級ガイド: 初心者から熟練者まで Python ラムダ式の上級ガイド: 初心者から熟練者まで Feb 24, 2024 pm 03:31 PM

ラムダ式の概要と基本構文 ラムダ式は、関数パラメータ リスト、コロン、関数本体で構成されます。関数パラメータのリストは通常​​の関数と同じで、関数本体はステートメントのセットではなく式です。 #例: 2 つの数値を受け取り、その合計を返す関数を返す sum=lambdax,y:x+y ラムダ式のアプリケーション シナリオ ラムダ式は、コールバック関数、フィルター関数、およびマッピング関数としての使用に非常に適しています。コールバック関数: コールバック関数は、別の関数内で呼び出される関数です。ラムダ式を使用すると、名前を宣言せずにコールバック関数を簡単に作成できます。フィルター機能: フィルター機能は、完全なフィルターを除去するために使用されます。

PHP8.0 の try ステートメント ブロックは式をサポートしています PHP8.0 の try ステートメント ブロックは式をサポートしています May 14, 2023 am 08:12 AM

コンピューター技術の急速な発展に伴い、プログラミング言語は常にアップグレードおよび改良されています。その中でも、PHP は一般的に使用される Web 開発言語として、常に革新され、新しいバージョンがリリースされています。最近、PHP8.0バージョンがリリースされ注目を集めています。中でも新バージョンでの例外処理機構の改善は大きな注目を集めている。この記事では、PHP8.0 の try ステートメント ブロックでの式サポートのトピックに焦点を当てます。 1. PHP8.0の例外処理機構の改善 以前のバージョンでは、P

See all articles