python关于字典及遍历的常用方法

前言:

字典是以“键—值”对存放的无序数据集合。“键—值”对是字典的元素,访问其中的元素要以“键”来访问。字典的键可以是字符串、整数、元组或字典。字典的值也可以是字符串、整数。

列表不能作为字典的键,是因为列表是可变的。同一个字典中,相同的键只出现一次,它是访问其他数据的索引。如果给一个键重复赋值,后赋的值将覆盖前面的值。列表则可以作为字典的值。

常见的字典方法:

x.keys(),x.values(),x.items()都需要加括号,这三个的使用方法十分相似,以下就以讲x.keys()为主。

x = {'张三': 86, '赵四': 76, '李刚': 65, '王五': 80, '吴六': 99, '钱七': 50}
print(x.keys())
print(x.keys)

返回结果为:

dict_keys(['张三', '赵四', '李刚', '王五', '吴六', '钱七'])
<built-in method keys of dict object at 0x0000013DC56A7BD0>

虽然x.keys能运行成功,但是这不是我们想要的。

用x.keys(),x.values(),x.items()方法获取字典中的元素,这三种方法返回的类型分别是:

  • dict_keys
  • dict_values
  • dcit_items

这三种类型均可以转化成列表类型,之后可用索引或切片访问其成员。

x = {'张三': 86, '赵四': 76, '李刚': 65, '王五': 80, '吴六': 99, '钱七': 50}
y = list(x.keys())
print(y)
for i in y:
    print(i)

使用list()就将其转化为列表类型

['张三', '赵四', '李刚', '王五', '吴六', '钱七']
不过,要是觉得这样遍历太麻烦,可以采用以下方法(省去了转换数据类型的步骤)。

x = {'张三': 86, '赵四': 76, '李刚': 65, '王五': 80, '吴六': 99, '钱七': 50}
for i in x.keys():
    print(i)

接下来看一个例题:

例:一个字典存放了人名和这个人喜欢的若干城市名,遍历这个字典,打印字典中每个人喜欢的城市。

字典如下:

a = {'赵一': ['北京', '上海'], '钱二': ['杭州', '宁波', '西安'],
     '孙三': ['绍兴', '长春'], '李四': ['北京'], '周五': ['宁波', '西安', '乌鲁木齐'], '吴六': ['乌鲁木齐']}

所要显示的结果如下:

赵一喜欢的城市有:北京,上海
钱二喜欢的城市有:杭州,宁波,西安
孙三喜欢的城市有:绍兴,长春
李四喜欢的城市有:北京
周五喜欢的城市有:宁波,西安,乌鲁木齐
吴六喜欢的城市有:乌鲁木齐

代码如下:

a = {'赵一': ['北京', '上海'], '钱二': ['杭州', '宁波', '西安'],
     '孙三': ['绍兴', '长春'], '李四': ['北京'], '周五': ['宁波', '西安', '乌鲁木齐'], '吴六': ['乌鲁木齐']}
for k in a.keys():
    print(k, end="")
    print('喜欢的城市有:', end="")
    # 城市列表长度
    b = len(a[k])
    for i in range(b):
        if i < b-1:
            # a[k][i]是他喜欢的城市里中的第i个
            print(a[k][i], end=",")
        else:
            # 最后一个城市名后面要换行
            print(a[k][i])

解析:首先a是一个字典,其中的值为列表,因此我们需要首先找到键,然后遍历与键对应的值(列表)内容,一一显示出来。 我们需要两次for循环,第一次遍历字典的键,第二次遍历列表内容。代码中a[k][i]就实现了这个功能。

print(k, end="")
print('喜欢的城市有:', end="")

如果觉得麻烦,可以将代码改成使用format()函数

print('{}喜欢的城市有:'.format(k), end="")

另外:

以下是x.keys(),x.values(),x.items()的一些代码,需要的可以使用

x = {'张三': 86, '赵四': 76, '李刚': 65, '王五': 80, '吴六': 99, '钱七': 50}
# 1
print(x.keys())
y = list(x.keys())
print(y)
for i in y:
    print(i)
for i in x.keys():
    print(i)
# 2
print(x.values())
y = list(x.values())
print(y)
for i in x.values():
    print(i)
# 3
print(x.items())
y = list(x.items())
print(y)
for i in x.items():
    print(i)

到此这篇关于python关于字典及遍历的常用方法的文章就介绍到这了,更多相关python字典及遍历内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python字典键值对的添加和遍历方法

    添加键值对 首先定义一个空字典 >>> dic={} 直接对字典中不存在的key进行赋值来添加 >>> dic['name']='zhangsan' >>> dic {'name': 'zhangsan'} 如果key或value都是变量也可以用这种方法 >>> key='age' >>> value=30 >>> dic[key]=value >>> dic {'age': 30

  • 利用For循环遍历Python字典的三种方法实例

    目录 前言 方法 1:使用 For 循环 + 索引进行迭代 方法 2:使用 .keys( ) + 索引进行迭代 方法 3:使用 .items( ) 进行迭代 进阶:遍历嵌套字典 总结 前言 在Python中,如何使用“for”循环遍历字典? 今天我们将会演示三种方法,并学会遍历嵌套字典. 在实战前,我们需要先创建一个模拟数据的字典. dict_1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First','Address':'Beijing'} 方法 1:使用

  • python 字典(dict)遍历的四种方法性能测试报告

    python中,遍历dict的方法有四种.但这四种遍历的性能如何呢?我做了如下的测试 l = [(x,x) for x in xrange(10000)] d = dict(l) from time import clock t0=clock() for i in d: t = i + d[i] t1=clock() for k,v in d.items(): t = k + v t2=clock() for k,v in d.iteritems(): t = k + v t3=clock()

  • Python中遍历字典过程中更改元素导致异常的解决方法

    先来回顾一下Python中遍历字典的一些基本方法: 脚本: #!/usr/bin/python dict={"a":"apple","b":"banana","o":"orange"} print "##########dict######################" for i in dict: print "dict[%s]=" % i,

  • Python中使用item()方法遍历字典的例子

    Python字典的遍历方法有好几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in.下面说的这种遍历方式是item()方法. item() item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回. DEMO 代码: 复制代码 代码如下: person={'name':'lizhong','age':'26','city':'BeiJing','blog':'www.jb51.net'}   for key,value i

  • python两种遍历字典(dict)的方法比较

    python以其优美的语法和方便的内置数据结构,赢得了不少程序员的亲睐.其中有个很有用的数据结构,就是字典(dict),使用非常简单.说到遍历一个dict结构,我想大多数人都会想到 for key in dictobj 的方法,确实这个方法在大多数情况下都是适用的.但是并不是完全安全,请看下面这个例子: 复制代码 代码如下: #这里初始化一个dict>>> d = {'a':1, 'b':0, 'c':1, 'd':0}#本意是遍历dict,发现元素的值是0的话,就删掉>>&

  • Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法.分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d.pop(key) 会报这个错误:RuntimeError: dictionary changed size during iteration 这种方式Python2可行,Python3还是报上面这个错误. d = {'a':1, 'b':2, 'c':3} for key in d.keys():

  • python字典的遍历3种方法详解

    遍历字典: keys() .values() .items() 1. xxx.keys() : 返回字典的所有的key 返回一个序列,序列中保存有字典的所有的键 效果图: 代码: # keys() 该方法会返回字典的所有的key # 该方法会返回一个序列,序列中保存有字典的所有的键 d = {'name':'孙悟空','age':18,'gender':'男'} print(d.keys()) print() # 通过遍历keys()来获取所有的键 for k in d.keys() : pri

  • python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 : 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的:但键不行,如果同一个键被赋值两次,后一个值会被记住. 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组(列表这样的可变类型不能作为键). 一.字典的创建.访问: dict = {'Name': 'Zara', 'Age': 7,

  • python关于字典及遍历的常用方法

    前言: 字典是以“键—值”对存放的无序数据集合.“键—值”对是字典的元素,访问其中的元素要以“键”来访问.字典的键可以是字符串.整数.元组或字典.字典的值也可以是字符串.整数. 列表不能作为字典的键,是因为列表是可变的.同一个字典中,相同的键只出现一次,它是访问其他数据的索引.如果给一个键重复赋值,后赋的值将覆盖前面的值.列表则可以作为字典的值. 常见的字典方法: x.keys(),x.values(),x.items()都需要加括号,这三个的使用方法十分相似,以下就以讲x.keys()为主.

  • Python实现字典的遍历与排序功能示例

    本文实例讲述了Python实现字典的遍历与排序功能.分享给大家供大家参考,具体如下: 字典的遍历: 首先: items(): 功能:以列表的形式返回字典键值对 eg: dict_={"a":2,"b":3,"c":6} dict_.items() >>>[('a',2),('b',3),('c',6)] iteritems(): 功能:以迭代器对象返回字典键值对 # -*- coding: cp936 -*- dict1={'a

  • Python中字典及遍历常用函数的使用详解

    目录 字典中元素的个数计算 字典中的键名 加粗样式字典中的键值 字典的键名以及对应的键值 字典的遍历 方法一 方法二 字典中元素的个数计算 len(字典名) 举例: person={"姓名":"张三","年龄":20,"性别":"男"} print(len(person)) 输出: 3 字典中的键名 字典名.keys() 举例: person={"姓名":"张三",&

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

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

  • python操作字典类型的常用方法(推荐)

    has_key()方法可以检查字典中是否含有指定的键,如果有则返回True,否则就返回False. 语法格式: dictionary_name.has_key(key) dict1 = {'01':'yangry','02':'weild','03':'hexh','04':'huangmg'} print dict1.has_key('02') print dict1.has_key('08') #result True False 2.clear()方法 用于清除字典中所有的项,无返回值.

  • 详解python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python3中,下面两种方法都是通用的. 1. 只对键的遍历 一个简单的for语句就能循环字典的所有键,就像处理序列一样: d = {'name1' : 'pythontab', 'name2' : '.', 'name3' : 'com'} for key in d: print (key, ' value

  • 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.h

  • Python实现字典去除重复的方法示例

    本文实例讲述了Python实现字典去除重复的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # encoding: utf-8 #字典去重小代码 import sys import os import platform try: pass except: print '''you have something wrong this is a simple jiaoben ''' sys.exit() why = 'why.txt' for i in xrang

  • Python有序字典简单实现方法示例

    本文实例讲述了Python有序字典简单实现方法.分享给大家供大家参考,具体如下: 代码: # -*- coding: UTF-8 -*- import collections print 'Regular dictionary:' d = {} d['a'] = 'A' d['b'] = 'B' d['c'] = 'C' for k, v in d.items(): print k, v print '\nOrderedDict:' d = collections.OrderedDict() d

  • Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表.字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表: 通过键实现元素存取:无序集合:可变类型容器,长度可变,异构,嵌套 支持的操作: len(D

随机推荐