元组与字典
Posted 哟,写bug呢??
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元组与字典相关的知识,希望对你有一定的参考价值。
一、元组(tuple):
元组,跟列表很相识,最主要的区别就是它里面的元素不允许被修改。元组也是有序的,有切片操作。
#1、索引: >>> t1=(‘a‘,‘b‘,‘c‘) >>> print(t1[1]) b #2、切片: >>> t1=(‘a‘,‘b‘,‘c‘) >>> print(t1[::-1]) (‘c‘, ‘b‘, ‘a‘) #3、注意元组所谓的不能修改只是针对一级元素,如果一级元素是一个可变类型:即列表,字典,集合那么这个可变类型是可以更改的。 >>> t1=(‘a‘,‘b‘,[1,2,3]) >>> t1[2][0]=2 >>> t1 (‘a‘, ‘b‘, [2, 2, 3])
二、字典(dictionary)
dict.fromkeys()
get()
pop(),popitem
setdefault()
update()
items() values()keys()
#1、字典的生成:可以直接通过键值对赋值。也可以根据序列,创建字典,并指定统一的值。 >>> v = dict.fromkeys(["k1",123,"999"],123) >>> v {‘k1‘: 123, 123: 123, ‘999‘: 123} >>> #2、可以通过Key 获取值,Key不存在时,可以指定默认值 >>> dic = {"k1":‘v1‘,"k2":‘v2‘} >>> print(dic["k1"]) v1 >>> print(dic.get("k1")) v1 >>> print(dic.get("k43",100)) 100 #3,可以通过pop方法获得字典的元素: dic = { "k1": ‘v1‘, "k2": ‘v2‘ } 若 v = dic.pop(‘k1‘,90) print(dic,v) #{‘k2‘: ‘v2‘} v1 若 v = dic.pop(‘k3‘,90) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} 90 若 k,v = dic.popitem() print(dic,k,v) #{‘k1‘: ‘v1‘} k2 v2 #4、 设置值, 已存在,不设置,获取当前key对应的值 不存在,设置,获取当前key对应的值 dic = { "k1": ‘v1‘, "k2": ‘v2‘ } v = dic.setdefault(‘k1‘,‘123‘) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘} v1 v=dic.setdefault(‘k3‘,‘v3‘) print(dic,v) #{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘v3‘} v3 #5、更新字典,已经存在的修改,不存在的增加 dic = { "k1": ‘v1‘, "k2": ‘v2‘ } dic.update({‘k1‘: ‘111111‘,‘k3‘: 123}) print(dic) #{‘k1‘: ‘111111‘, ‘k2‘: ‘v2‘, ‘k3‘: 123} dic.update(k1=123,k3=345,k5="asdf") print(dic) #{‘k1‘: 123, ‘k2‘: ‘v2‘, ‘k3‘: 345, ‘k5‘: ‘asdf‘} #6 字典的values可以是任意值,但是字典的key不能是列表、字典、集合(元组可以) #7字典是无序的,可以按照keys索引: dici={‘k1‘:‘aaa‘,‘k2‘:‘bbb‘,‘k3‘:[1,2,3]} print(dici[‘k1‘]) print(dici[‘k3‘][1]) #8字典指出del删除: dici={‘k1‘:‘aaa‘,‘k2‘:‘bbb‘,‘k3‘:[1,2,3]} del(dici[‘k1‘]) print(dici) #{‘k2‘: ‘bbb‘, ‘k3‘: [1, 2, 3]} #9 字典的keys,values,items.这三个返回的不是一个列表,而是一个可遍历的类型,不支持按下标索引(python2返回的可以)。 dici={‘k1‘:‘aaa‘,‘k2‘:‘bbb‘,‘k3‘:[1,2,3]} print(dici.items()) #dict_items([(‘k1‘, ‘aaa‘), (‘k2‘, ‘bbb‘), (‘k3‘, [1, 2, 3])]) print(dici.keys()) #dict_keys([‘k1‘, ‘k2‘, ‘k3‘]) print(dici.values()) #dict_values([‘aaa‘, ‘bbb‘, [1, 2, 3]]) for i in dici.items(): print(i) #(‘k1‘, ‘aaa‘) (‘k2‘, ‘bbb‘) (‘k3‘, [1, 2, 3]) for in dici.keys(): print(i) #k1 k2 k3 for i in dici.values(): print(i) #aaa bbb [1,2,3]
以上是关于元组与字典的主要内容,如果未能解决你的问题,请参考以下文章