ホームページ バックエンド開発 Python チュートリアル Python中字典创建、遍历、添加等实用操作技巧合集

Python中字典创建、遍历、添加等实用操作技巧合集

Jun 06, 2016 am 11:18 AM
python 作成する 辞書 に追加 トラバース

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途.
一、字典中常见方法列表

代码如下:


#方法                                  #描述 
------------------------------------------------------------------------------------------------- 
D.clear()                              #移除D中的所有项 
D.copy()                               #返回D的副本 
D.fromkeys(seq[,val])                  #返回从seq中获得的键和被设置为val的值的字典。可做类方法调用 
D.get(key[,default])                   #如果D[key]存在,将其返回;否则返回给定的默认值None 
D.has_key(key)                         #检查D是否有给定键key 
D.items()                              #返回表示D项的(键,值)对列表 
D.iteritems()                          #从D.items()返回的(键,值)对中返回一个可迭代的对象 
D.iterkeys()                           #从D的键中返回一个可迭代对象 
D.itervalues()                         #从D的值中返回一个可迭代对象 
D.keys()                               #返回D键的列表 
D.pop(key[,d])                         #移除并且返回对应给定键key或给定的默认值D的值 
D.popitem()                            #从D中移除任意一项,并将其作为(键,值)对返回 
D.setdefault(key[,default])            #如果D[key]存在则将其返回;否则返回默认值None 
D.update(other)                        #将other中的每一项加入到D中。 
D.values()                             #返回D中值的列表

二、创建字典的五种方法

方法一: 常规方法   

代码如下:


# 如果事先能拼出整个字典,则此方法比较方便
>>> D1 = {'name':'Bob','age':40} 


方法二: 动态创建

代码如下:

                 
# 如果需要动态地建立字典的一个字段,则此方法比较方便
>>> D2 = {} 
>>> D2['name'] = 'Bob' 
>>> D2['age']  =  40 
>>> D2 
{'age': 40, 'name': 'Bob'}


方法三:  dict--关键字形式      

代码如下:


# 代码比较少,但键必须为字符串型。常用于函数赋值
>>> D3 = dict(name='Bob',age=45) 
>>> D3 
{'age': 45, 'name': 'Bob'}

方法四: dict--键值序列

代码如下:


# 如果需要将键值逐步建成序列,则此方式比较有用,常与zip函数一起使用
>>> D4 = dict([('name','Bob'),('age',40)]) 
>>> D4 
{'age': 40, 'name': 'Bob'}



代码如下:


>>> D = dict(zip(('name','bob'),('age',40))) 
>>> D 
{'bob': 40, 'name': 'age'} 


方法五: dict--fromkeys方法# 如果键的值都相同的话,用这种方式比较好,并可以用fromkeys来初始化

代码如下:


>>> D5 = dict.fromkeys(['A','B'],0) 
>>> D5 
{'A': 0, 'B': 0} 


如果键的值没提供的话,默认为None

代码如下:


>>> D3 = dict.fromkeys(['A','B']) 
>>> D3 
{'A': None, 'B': None} 

三、字典中键值遍历方法

代码如下:


>>> D = {'x':1, 'y':2, 'z':3}          # 方法一 
>>> for key in D: 
    print key, '=>', D[key]   
y => 2 
x => 1 
z => 3 
>>> for key, value in D.items():       # 方法二 
    print key, '=>', value    
y => 2 
x => 1 
z => 3 
 
>>> for key in D.iterkeys():           # 方法三 
    print key, '=>', D[key]   
y => 2 
x => 1 
z => 3 
>>> for value in D.values():           # 方法四 
    print value  



>>> for key, value in D.iteritems():   # 方法五 
    print key, '=>', value 
     
y => 2 
x => 1 
z => 3 

Note:用D.iteritems(), D.iterkeys()的方法要比没有iter的快的多。

四、字典的常用用途之一代替switch

在C/C++/Java语言中,有个很方便的函数switch,比如:

代码如下:


public class test { 
     
    public static void main(String[] args) { 
        String s = "C"; 
        switch (s){ 
        case "A":  
            System.out.println("A"); 
            break; 
        case "B": 
            System.out.println("B"); 
            break; 
        case "C": 
            System.out.println("C"); 
            break; 
        default: 
            System.out.println("D"); 
        } 
    } 

在Python中要实现同样的功能,
方法一,就是用if, else语句来实现,比如:

代码如下:


from __future__ import division 
 
def add(x, y): 
    return x + y 
 
def sub(x, y): 
    return x - y 
 
def mul(x, y): 
    return x * y 
 
def div(x, y): 
    return x / y 
 
def operator(x, y, sep='+'): 
    if   sep == '+': print add(x, y) 
    elif sep == '-': print sub(x, y) 
    elif sep == '*': print mul(x, y) 
    elif sep == '/': print div(x, y) 
    else: print 'Something Wrong' 
 
print __name__ 
  
if __name__ == '__main__': 
    x = int(raw_input("Enter the 1st number: ")) 
    y = int(raw_input("Enter the 2nd number: ")) 
    s = raw_input("Enter operation here(+ - * /): ") 
    operator(x, y, s) 

方法二,用字典来巧妙实现同样的switch的功能,比如:

代码如下:


#coding=gbk 
 
from __future__ import division 
 
x = int(raw_input("Enter the 1st number: ")) 
y = int(raw_input("Enter the 2nd number: ")) 
 
def operator(o): 
    dict_oper = { 
        '+': lambda x, y: x + y, 
        '-': lambda x, y: x - y, 
        '*': lambda x, y: x * y, 
        '/': lambda x, y: x / y} 
    return dict_oper.get(o)(x, y) 
  
if __name__ == '__main__':   
    o = raw_input("Enter operation here(+ - * /): ") 
    print operator(o) 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

携帯電話でXMLをPDFに変換するとき、変換速度は高速ですか? 携帯電話でXMLをPDFに変換するとき、変換速度は高速ですか? Apr 02, 2025 pm 10:09 PM

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

携帯電話のXMLファイルをPDFに変換する方法は? 携帯電話のXMLファイルをPDFに変換する方法は? Apr 02, 2025 pm 10:12 PM

単一のアプリケーションで携帯電話でXMLからPDF変換を直接完了することは不可能です。クラウドサービスを使用する必要があります。クラウドサービスは、2つのステップで達成できます。1。XMLをクラウド内のPDFに変換し、2。携帯電話の変換されたPDFファイルにアクセスまたはダウンロードします。

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

XMLを写真に変換する方法 XMLを写真に変換する方法 Apr 03, 2025 am 07:39 AM

XMLは、XSLTコンバーターまたは画像ライブラリを使用して画像に変換できます。 XSLTコンバーター:XSLTプロセッサとスタイルシートを使用して、XMLを画像に変換します。画像ライブラリ:PILやImageMagickなどのライブラリを使用して、形状やテキストの描画などのXMLデータから画像を作成します。

XMLをPDFに変換できるモバイルアプリはありますか? XMLをPDFに変換できるモバイルアプリはありますか? Apr 02, 2025 pm 08:54 PM

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

XMLをPDFに変換できるモバイルアプリはありますか? XMLをPDFに変換できるモバイルアプリはありますか? Apr 02, 2025 pm 09:45 PM

XML構造が柔軟で多様であるため、すべてのXMLファイルをPDFSに変換できるアプリはありません。 XMLのPDFへのコアは、データ構造をページレイアウトに変換することです。これには、XMLの解析とPDFの生成が必要です。一般的な方法には、ElementTreeなどのPythonライブラリを使用してXMLを解析し、ReportLabライブラリを使用してPDFを生成することが含まれます。複雑なXMLの場合、XSLT変換構造を使用する必要がある場合があります。パフォーマンスを最適化するときは、マルチスレッドまたはマルチプロセスの使用を検討し、適切なライブラリを選択します。

推奨されるXMLフォーマットツール 推奨されるXMLフォーマットツール Apr 02, 2025 pm 09:03 PM

XMLフォーマットツールは、読みやすさと理解を向上させるために、ルールに従ってコードを入力できます。ツールを選択するときは、カスタマイズ機能、特別な状況の処理、パフォーマンス、使いやすさに注意してください。一般的に使用されるツールタイプには、オンラインツール、IDEプラグイン、コマンドラインツールが含まれます。

XML形式を開く方法 XML形式を開く方法 Apr 02, 2025 pm 09:00 PM

ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。

See all articles