この記事では、Python の関数の items() 系列の使い方を中心に紹介します。必要な方は参考にしてください。 Python の関数は Python プログラミングに非常に役立ちます。具体的な分析は次のとおりです:
まず例を見てみましょう:
import html # available only in Python 3.x def make_elements(name, value, **attrs): keyvals = [' %s="%s"' % item for item in attrs.items()] attr_str = ''.join(keyvals) element = '<{name}{attrs}>{value}</{name}>'.format( name = name, attrs = attr_str, value = html.escape(value)) return element make_elements('item', 'Albatross', size='large', quantity=6) make_elements('p', '<spam>')
このプログラムの機能は非常に単純で、
HTML タグを生成することです。HTML モジュールは Python 3.x でのみ使用できることに注意してください。 。 タグ
attributeslist を生成する keyval の辞書型 変数 が 2 つの %s が 1 つの項目に対応するという興味深い方法で構築されていることに今気づきました。 そこで、関連情報を確認したところ、多くのことがここにまとめられています。 注: 以下のすべての Python インタープリターで使用されるバージョンについては、2.x は 2.7.3 に対応し、3.x は 3.4.1 に対応します
Python 2.x では、公式ドキュメントの items メソッドは次のように説明されています: 次のような (キー, 値) ペアのリストを生成します:>>> d = {'size': 'large', 'quantity': 6} >>> d.items() [('quantity', 6), ('size', 'large')]
search
のプロセスで、stackoverflow でこの質問を偶然見ました: What is theDifference between dict.items() と dict.iteritems( )? 、最初の答えは大まかにこれを意味します: 「最初は items() は上記のような dict のすべての要素を含むリストを返しましたが、これはメモリの無駄が多すぎるため、後で追加されました (注: Python では関数のグループ2.2 で登場し始めた iteritems()、iterkeys()、および itervalues() はメモリを節約するためにイテレータを返すために使用されますが、3.x では items() 自体がそのようなイテレータを返すため、3.x では
. x の items() の動作は、2 の iteritems() の動作と一致しています。このステートメントは、3.x の items() の動作が 2.x の iteritems() とは異なることに注意してください。実際には、「完全なシーケンス プロトコル オブジェクト」を返します。この
オブジェクトは、dict の変更を反映できます。その後、3.x の動作との一貫性を保つために、別の関数 viewitems() が Python 2.7 に追加されました。コメント内のステートメントを確認するために、次のテストを実行しました。使用されているテスト Python バージョンに注意してください:Python 2.7.3 (default, Feb 27 2014, 19:58:35) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> d = {'size': 'large', 'quantity': 6} >>> il = d.items() >>> it = d.iteritems() >>> vi = d.viewitems() >>> il [('quantity', 6), ('size', 'large')] >>> it <dictionary-itemiterator object at 0x7fe555159f18> >>> vi dict_items([('quantity', 6), ('size', 'large')])テスト 2 (Python 3.4.1):
Python 3.4.1 (default, Aug 12 2014, 16:43:01) [GCC 4.9.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> d = {'size': 'large', 'quantity': 6} >>> il = d.items() >>> it = d.iteritems() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'dict' object has no attribute 'iteritems' >>> vi = d.viewitems() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'dict' object has no attribute 'viewitems' >>> il dict_items([('size', 'large'), ('quantity', 6)])
Python 3.x では iteritems() と viewitems() が廃止され、item() で得られる結果は 2.x の viewitems() と一致していることがわかります。 2.x では、iteritems() と viewitems() によって返されるコンテンツは、以下に示すように for を使用して走査できます
>>> for k, v in it: ... print k, v ... quantity 6 size large >>> for k, v in vi: ... print k, v ... quantity 6 size large2 つの違いは何ですか? viewitems() は、ディクショナリ内の変更を反映できるビュー オブジェクトを返します。たとえば、上の例では、2 つの変数 it と vi を使用する前にキーと値の組み合わせを d に追加すると、違いが簡単にわかります。 。
>>> it = d.iteritems() >>> vi = d.viewitems() >>> d['newkey'] = 'newvalue' >>> d {'newkey': 'newvalue', 'quantity': 6, 'size': 'large'} >>> vi dict_items([('newkey', 'newvalue'), ('quantity', 6), ('size', 'large')]) >>> it <dictionary-itemiterator object at 0x7f50ab898f70> >>> for k, v in vi: ... print k, v ... newkey newvalue quantity 6 size large >>> for k, v in it: ... print k, v ... Traceback (most recent call last): File "<stdin>", line 1, in <module> RuntimeError: dictionary changed size during iteration3 行目で、新しい要素を d に挿入しました。vi はトラバースを続行でき、新しいトラバースは d の変更を反映できますが、トラバース時にエラー メッセージが表示され、トラバース時に辞書を求めるプロンプトが表示されます。サイズが変更され、横断は失敗しました。
要約すると、2.x では当初 items() メソッドが使用されていましたが、メモリの無駄が多すぎるため、3.x では item( の動作を返すために iteritems() メソッドが追加されました。 ) 返されるオブジェクトが元の辞書の変更も反映できるように、ビュー オブジェクトを返すように変更されました。同時に、viewitems() の下位互換性機能が 2.7 で追加されました。
1.
特別な推奨事項
:
「php Programmer Toolbox」V0.1 バージョンのダウンロード2. Python の無料ビデオチュートリアル3. items() メソッド
以上がPythonのitems()シリーズ関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

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

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

ホットトピック



