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

リスト内包表記

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

[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 までご連絡ください。
如何解决Python的表达式语法错误?如何解决Python的表达式语法错误?Jun 24, 2023 pm 05:04 PM

Python作为一种高级编程语言,易于学习和使用。一旦需要编写Python程序时,无法避免地遇到语法错误,表达式语法错误是常见的一种。在本文中,我们将讨论如何解决Python的表达式语法错误。表达式语法错误是Python中最常见的错误之一,它通常是由于错误的使用语法或缺少必要组件而导致的。在Python中,表达式通常由数字、字符串、变量和运算符组成。最常见的

在C和C++中,逗号(comma)的用法是用来分隔表达式或语句在C和C++中,逗号(comma)的用法是用来分隔表达式或语句Sep 09, 2023 pm 05:33 PM

在C或C++中,逗号“,”有不同的用途。在这里我们将了解如何使用它们。逗号作为运算符。逗号运算符是一个二元运算符,它计算第一个操作数,然后丢弃结果,然后计算第二个操作数并返回值。逗号运算符在C或C++中的优先级最低。示例#include<stdio.h>intmain(){&nbsp;&nbsp;intx=(50,60);&nbsp;&nbsp;inty=(func1(),func2());}这里60将被分配给x。对于下一条语句,将首先执行func1(

介绍C语言中的指数函数表达式介绍C语言中的指数函数表达式Feb 18, 2024 pm 01:11 PM

C语言中指数函数表达式的写法介绍及代码示例什么是指数函数指数函数是数学中一类常见的函数,可以表示为f(x)=a^x的形式,其中a为底数,x为指数。指数函数主要用于描述指数增长或指数衰减的情况。指数函数的代码示例在C语言中,我们可以使用数学库中的pow()函数来计算指数函数,下面是一个示例程序:#include

Java 中的 lambda 表达式Java 中的 lambda 表达式Jun 09, 2023 am 10:17 AM

Java中的lambda表达式随着Java8的发布,lambda表达式成为了Java开发者们最为关注和讨论的话题之一。Lambda表达式可以简化Java程序员繁琐的书写方式,同时也能够提高程序的可读性和维护性。在本文中,我们将深入探讨Java中的lambda表达式,以及它们如何在Java代码中提供更简单、更直观的编程体验。

使用lambda表达式对集合进行循环使用lambda表达式对集合进行循环Feb 19, 2024 pm 07:32 PM

lambda表达式是一种匿名函数,它可以很方便地用于遍历集合。在这篇文章中,我们将介绍如何使用lambda表达式来遍历集合,并提供具体的代码示例。在Python中,lambda表达式的语法格式如下:lambda参数列表:表达式lambda表达式的参数列表可以包含一个或多个参数,用逗号隔开。表达式是lambda函数的返回值。下面我们来看一个简单的例子,假设

Python Lambda表达式进阶指南:从入门到精通Python Lambda表达式进阶指南:从入门到精通Feb 24, 2024 pm 03:31 PM

Lambda表达式的简介与基本语法Lambda表达式由一个函数参数列表,一个冒号和一个函数体组成。函数参数列表与普通函数的参数列表相同,函数体则是一个表达式,而不是一组语句。#示例:返回一个函数,该函数接收两个数字并返回它们的和sum=lambdax,y:x+yLambda表达式的应用场景Lambda表达式非常适合用作回调函数、过滤器函数和映射函数。回调函数:回调函数是指在另一个函数中调用的函数。Lambda表达式可以轻松创建回调函数,而无需声明其名称。过滤器函数:过滤器函数用于从序列中过滤出满

Java Lambda 表达式实战:用代码解锁函数式编程的奥秘Java Lambda 表达式实战:用代码解锁函数式编程的奥秘Feb 26, 2024 am 10:25 AM

Lambda表达式,顾名思义,就是一种以箭头符号(->)为核心的匿名函数。它允许你将代码块作为参数传递给其他方法,或将其存储到变量中供以后使用。Lambda表达式语法简洁、易于理解,非常适合处理数据流和并行计算。1.Lambda表达式的基本语法Lambda表达式的基本语法如下:(参数列表)->{代码块}其中,参数列表和代码块都是可选的。如果只有一个参数,可以省略括号。如果代码块只有一行,可以省略大括号。例如,以下代码块使用Lambda表达式实现了将数字加1的功能:List

PHP8.0中的try语句块支持表达式PHP8.0中的try语句块支持表达式May 14, 2023 am 08:12 AM

随着计算机技术的飞速发展,编程语言也在不断地升级和完善。其中,PHP作为一种常用的Web开发语言,也在不断地推陈出新,不断地推出新的版本。最近,PHP8.0版本的发布引起了广泛的关注。其中,新版本中对于异常处理机制的改进引起了很多人的关注。本文将围绕着PHP8.0中的try语句块支持表达式这一主题展开讨论。一、PHP8.0异常处理机制的改进在之前的版本中,P

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Mac版

SublimeText3 Mac版

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

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。