首页 后端开发 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 Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么下载deepseek 小米 怎么下载deepseek 小米 Feb 19, 2025 pm 05:27 PM

如何下载 DeepSeek 小米?在小米应用商店搜索“DeepSeek”,如未找到,则继续步骤 2。确定您的需求(搜索文件、数据分析),并找到包含 DeepSeek 功能的相应工具(如文件管理器、数据分析软件)。

deepseek怎么问他 deepseek怎么问他 Feb 19, 2025 pm 04:42 PM

有效使用DeepSeek的关键在于清晰提问:直接、具体地表达问题。提供具体细节和背景信息。对于复杂的询问,包含多个角度和反驳观点。关注特定方面,例如代码的性能瓶颈。对得到的答案保持批判性思维,结合专业知识进行判断。

deepseek该怎么搜索 deepseek该怎么搜索 Feb 19, 2025 pm 05:18 PM

直接使用DeepSeek自带的搜索功能即可,它强大的语义分析算法能准确理解搜索意图,提供相关信息。但对于冷门领域、最新信息或需要思考问题的搜索,需要调整关键词或使用更具体的描述、结合其他实时信息来源,并明白DeepSeek只是一个工具,需要主动、清晰、精细的搜索策略。

deepseek怎么编程 deepseek怎么编程 Feb 19, 2025 pm 05:36 PM

DeepSeek并非编程语言,而是深度搜索概念。实现DeepSeek需基于现有语言选择。针对不同应用场景,需要选择合适的语言和算法,并结合机器学习技术。代码质量、可维护性、测试至关重要。根据需求选择合适的编程语言、算法和工具,并编写高质量代码,才能成功实现DeepSeek。

deepseek怎么用来算账 deepseek怎么用来算账 Feb 19, 2025 pm 04:36 PM

问题:DeepSeek是否可用于会计?回答:不是,它是一个数据挖掘和分析工具,可用于分析财务数据,但本身不具备会计软件的账目记录和报表生成功能。使用DeepSeek分析财务数据需要:编写代码来处理数据具备对数据结构、算法和DeepSeek API的了解考虑潜在的问题(例如,编程知识、学习曲线、数据质量)

编码的关键:为初学者释放 Python 的力量 编码的关键:为初学者释放 Python 的力量 Oct 11, 2024 pm 12:17 PM

Python通过其易学性和强大功能,是初学者的理想编程入门语言。其基础包括:变量:用于存储数据(数字、字符串、列表等)。数据类型:定义变量中数据的类型(整数、浮点数等)。运算符:用于数学运算和比较。控制流:控制代码执行流(条件语句、循环)。

使用 Python 解决问题:作为初学者,解锁强大的解决方案 使用 Python 解决问题:作为初学者,解锁强大的解决方案 Oct 11, 2024 pm 08:58 PM

Python 使初学者能够解决问题。其用户友好的语法、广泛的库以及变量、条件语句和循环等功能可实现高效的代码开发。从管理数据到控制程序流程和执行重复任务,Python 提供了

DeepSeekapi怎么接入-DeepSeekapi接入调用教程 DeepSeekapi怎么接入-DeepSeekapi接入调用教程 Mar 12, 2025 pm 12:24 PM

DeepSeekAPI接入与调用详解:快速上手指南本文将详细指导您如何接入和调用DeepSeekAPI,助您轻松使用强大的AI模型。第一步:获取API密钥访问DeepSeek官方网站,点击右上角的“开放平台”。您将获得一定数量的免费Tokens(用于计量API使用量)。在左侧菜单中,点击“APIKeys”,然后点击“创建APIkey”。为您的APIkey命名(例如,“test”),并立即复制生成的密钥。请务必妥善保存此密钥,因为它只会显示一次

See all articles