python遍历字典

01.Python基础-3.集合容器

China☆狼群 提交于 2020-01-17 05:47:48
1 列表 list 1.1 列表介绍 Python内置的一种数据类型是列表: list 。 有序的集合,可随时添加和删除其中的元素。 每个元素都分配一个数字 ——它的位置,或索引。0,1,2,3…… 可存放各种类型的数据 1.2 定义列表 列表名 = [值1,值2,值3.......] 1.3 列表-查 index count len max min 根据下标查找值 值 = xxx[index] name = ['a', 'b', 'c'] # 下标从0开始 n1 = name[0] # 'a' n2 = name[1] # 'b' 从列表中找出某个值第一个匹配项的索引位置 xxx = 列表.index(值) ''' 通过值获取下标,只能获取第一次出现的位置 如果这个值不存在,则报错 VakueError ''' nums = [1, 11, 88, 43] where = nums.index(88) # 2 统计某个元素在列表中出现的次数 xxx = 列表.count(值) ''' nums.count(),获取此值在list中的个数 如果没有就是0 ''' nums = [1, 11, 88, 43] num = nums.count(999) # 0 查询列表的长度,元素的个数 xxx = len(列表) # len(列表名)可以获取集合、字符串的长度 nums = [1,

Python 中的多维字典

Deadly 提交于 2020-01-16 02:35:44
Python中的dict可以实现迅速查找。那么有没有像数组有二维数组一样,有二维的字典呢?比如我需要对两个关键词进行查找的时候。2D dict 可以通过 dict_2d = {'a': {'a': 1, 'b': 3}, 'b': {'a': 6}} 来建立,并通过 dict_2d['a']['b'] 来访问。但是添加一个新的 “key-value”对却比较复杂。对一维字典,可以用 dict_1d = dict() dict_1d['a'] = 1 或者 dict_1d.update({'a': 1}) 来实现。但是”2-D” dictionary 新添一个”key-value”对时,不能简单的用 dict_2d['a']['c'] = 8 的形式。因为二维字典的两层key和value之间会混淆,需要判断第一个key是否已经存在了。添加二维的字典可以通过一个函数来简单实现: def addtodict2(thedict, key_a, key_b, val): if key_a in adic: thedict[key_a].update({key_b: val}) else: thedict.update({key_a:{key_b: val}}) 同理,三维数组 def addtodict3(thedict,key_a,key_b,key_c,val): if key_a in

dict的使用

让人想犯罪 __ 提交于 2020-01-15 21:58:00
Python字典是可变类型数据,可以存储任意对象,如字符串,数字,元组,列表等。 字典的创键 字典有键 key 和值 value 组成,使用键值对链接 : ,字典也称为关联数组或哈希表。 dict_person = {"name": "link", "age": 18} 注意:每个键和值使用 : 隔开,使用逗号进行隔开,整体放在花括号里面 {} ,键必须独一无二,而且键必须是不可变数据类型,值则不必。 获取字典值 使用中括号 [key] 获取值 dict.get("key")获取值 dict_person = {"name": "link", "age": 18} print('dict_person["name"]', dict_person["name"]) print('dict_person.get("age")', dict_person.get("age")) 注意 :key不存在时,使用get("key")返回None, 而使用 [] 直接报错。 获取字典的长度 dict_person = {"name": "link", "age": 18} print("dict_person字典的长度是:", len(dict_person)) 注意 : 字典的长度其实就是多少个key 修改字典 class_dict = {"name": "张俊", "class":

Python:字典的使用

邮差的信 提交于 2020-01-15 05:16:59
""" 字典的使用: 字典是另外一种可变容器模型,类似我们生活中的字典 它可以存储任意类型的对象,与列表集合不同的是 字典的每一个元素都是由一个键和一个值组成的‘键值对’ """ # 创建字典 score = {'李白':66, '杜甫':77, '王之涣':50} # 通过键获取相应的值 print(score['李白']) # 66 print(score['王之涣']) # 50 # 对字典进行遍历(遍历的其实是键再通过键取相应的值) for i in score: print(i, score[i], end=' ') # 李白 66 杜甫 77 王之涣 50 print() # 更新字典中的元素 score['李白'] = 100 print(score) # {'李白': 100, '杜甫': 77, '王之涣': 50} score.update(孟浩然=33, 王维=44) print(score) # {'李白': 100, '杜甫': 77, '王之涣': 50, '孟浩然': 33, '王维': 44} # 获取键值 print(score.get('李白')) # 100 # 能获取到但是列表中无此键值对 print(score.get('武则天',101)) # 101 print(score) # 删除字典中的元素 print(score.popitem

Python中字典和集合

北战南征 提交于 2020-01-14 06:20:35
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串、数字、元组等 包含可变对象的列表、字典和元组不能用作键 引用不存在的键会引发KeyError异常 1)字典 dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表; 通过键实现元素存取;无序集合;可变类型容器,长度可变,异构,嵌套 支持的操作: len(D) 返回D中的项目数 D[k] 返回D中键k的值 D[k] = x 将D[k]的值设为x >>> d1 = {'x':1,'y':2,'z':3} >>> d1['x'] 1 >>> d1['z'] 通过键索引 3 del D[k] 从D中删除D[k] >>> del d1['x'] >>> d1 {'y': 2, 'z': 3} k in D 如果k是D中的值,则返回True 支持的方法: D.clear() 清除所有元素 D.copy() 复制一个副本 >>> d1 = {'x':1,'y':2,'z':3} >>> id(d1) 45320640 >>> d2 = d1.copy() 深复制 >>> id(d2) 45997776 >>> d3 = d1

Python学习笔记(三)之Python变量类型

烈酒焚心 提交于 2020-01-13 00:53:23
1. 标准数据类型 Numbers(数字) String(字符) List(列表) Tuple(元组) Dictionary(字典) 2. Number(数字) 数据类型是不允许改变的,如果要改变Number数据类型的值,则需要重新分配内容空间。 del 语句可以用来删除一些Number的引用,例:del var可以删除一个var的Number引用;del var1, var2 删除了var1和var2等多个引用时,引用之间加逗号分离。 Number有四种不同的数值类型: 整型(int) 长整型(Long)- 无限大小 的整数。整数最后是一个大写或小写的L。(长整型在Python3中已弃用) 浮点型(float) 复数(complex):可以用a+bj,或者complex(a,b)表示。 复数的实部a和虚部b都是浮点型 。 Number类型数值转化: int(x, base=?) - x为字符串,base(可省略)表示x的进制数。该函数用于将x转化为十进制数。 long(x, base=?) - 同上,不过long类型可以无限大 float(x) - 将字符串x转为浮点数 complex(real, imag) - 创建一个复数,其中imag可以省略 str(x) - 将对象x转为字符串 eval(x) - 将根据传入的类型,返回一个格式化对象 chr(x) 和 ord(x)

数组和字典

。_饼干妹妹 提交于 2020-01-11 20:51:27
数组:数组用方括号([])表示,里面的每一项用逗号(,)隔开。python允许数组里面任意的放置数字和字符串。数组下表是从0开始,所以,list[0]会输出数组中的第一项。 1 lists = [1,2,3,'a',5] 2 lists 3 [1,2,3,'a',5] 4 5 list[0] 6 1 字典:字典用花括号({})表示,里面的项成对出现,一个key对应一个vaule。key和value之间用冒号(:)分隔,不用项之间用逗号(,)分隔。 1 dicts = {"username":"zhangsan","password":123456} 2 dicts.keys() 3 {"username","password"} python中,("")和('')无区别,都可以用于字符串的表达。 想要使字典中keys和values按照字典中的存放顺序返回,可以用个zip方法 1 #通过zip方法合并两个list为dictionary 2 #遍历会按原先的顺序 3 keys = ['b','a','c','e','d'] 4 value = ['2','1','3','5','4'] 5 6 for key,value in zip{keys,values}: 7 print(key,value) 来源: https://www.cnblogs.com/demonszz/p

18、python基础学习-字典

房东的猫 提交于 2020-01-10 10:55:45
1 #!/usr/bin/env python 2 #__author: hlc 3 #date: 2019/5/26 4 #字典是python中唯一的映射类型,采用键值对(key-value)的形式进行存储,python对key进行哈希函数运算,根据结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元祖。 5 6 #字典的两种创建方法 7 # dic = {"asd":"123","asgd":456} 8 # print(dic) 9 # 10 # a = dict(((1,4),(5,7))) #工厂模式 11 # print(a) 12 13 #增加 14 # dict1 = {} 15 # dict1["asd"]=123 #如果健存在,会进行覆盖,不存在会添加 16 # print(dict1) #{'asd': 123} 17 # dict1.setdefault("qwe",3245) #如果健存在,不会进行覆盖,不存在会添加,都会返回对应的值 18 # print(dict1) #{'asd': 123, 'qwe': 3245} 19 20 #查找(通过键查找) 21 # dic2 = {"asd":"123","asgd":456,"erqw":"sdfdsg"} 22 #

python基础学习8-dict字典

心不动则不痛 提交于 2020-01-08 23:02:34
提示:输入字符串str = input()时报错,可能是版本问题,改为str = raw_input()即可。 dict字典 使用键—值(key-value)存储,查找速度极快。 key的特性: key必须唯一 key必须是不可变对象,字符串,整数等都是不可变的,可作为key; list可变,不可作为key. 注意:字典是无序的 list 与 dict的比较 dict: 查找和插入速度极快,不会随着key-value的增加而变慢 占用内存大,内存浪费多 list: 查找和插入的速度随数据量增多而变慢 占用内存小,内存浪费少 dict = {key1: value1, key2: value2, …}: 创建字典,字典名dict1. dict[key1]: 元素访问:字典名[key].有则返回value1,无则报错 dict.get(key1): 也是元素访问,不同的是,未找到返回None,不报错。 dict[key3] = value3: 若创建的dict中无key3-value3,则添加。若存在,则覆盖原值。 dict.pop(key1): 若dict中有key1-value1,则删除 遍历 for key in dict : #方法1,根据key遍历 print ( key , dict [ key ] ) for value in dict . values ( ) :

这26个为什么,让初学者理解Python更简单!

柔情痞子 提交于 2020-01-07 04:13:50
为什么Python使用缩进来分组语句? 为什么简单的算术运算得到奇怪的结果? 为什么浮点计算不准确? 为什么Python字符串是不可变的? 为什么必须在方法定义和调用中显式使用“self”? 为什么不能在表达式中赋值? 为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现? 为什么 join()是一个字符串方法而不是列表或元组方法? 异常有多快? 为什么Python中没有switch或case语句? 难道不能在解释器中模拟线程,而非得依赖特定于操作系统的线程实现吗? 为什么lambda表达式不能包含语句? 可以将Python编译为机器代码,C或其他语言吗? Python如何管理内存? 为什么CPython不使用更传统的垃圾回收方案? CPython退出时为什么不释放所有内存? 为什么有单独的元组和列表数据类型? 列表是如何在CPython中实现的? 字典是如何在CPython中实现的? 为什么字典key必须是不可变的? 为什么 list.sort() 没有返回排序列表? 如何在Python中指定和实施接口规范? 为什么没有goto? 为什么原始字符串(r-strings)不能以反斜杠结尾? 为什么Python没有属性赋值的“with”语句? 为什么 if/while/def/class语句需要冒号?