发布时间:2019-09-15 10:01:09编辑:auto阅读(2002)
映射(如dict等)的搜索速度远快于条件语句(如if等),采用映射替代条件查找可以提高代码效率,目前Python中只有一种标准映射类型,就是字典(dict),但是列表也可以做出这种效果,总结了两种方法。
dic = {
'1':'32',
'2':'31',
'3':'432',
'4':'467',
'5':['fa','faa'],
'6':('f','fa','asdfa'),
('7','8','9'):'f'
}
test = '6'
print(dic.items())
for a,b in dic.items():
if test in a:
print(b)
items()方法用于返回字典dict的(key,value)元组对的列表
取出对应的结果:
listdic = [
['',['','']]
['fruit',['apple','orange','123']]
['',['']]
...
]
for i in range(9):
type, name = listdic[i]
本质是高维列表,可以通过listdic[][]来访问,比如:
可以通过赋值,将对应的头尾取出来:
dic = {
'1':'32',
'2':'31',
'3':'432'
}
dic1 = {
1:'32',
2:'31',
3:'432'
}
dic2 = {
1:2,
2:3,
3:4
}
注意key和value是否是字符串,比如迭代或判断的时候,不能直接用int:
if test in key # 是字符串判断,当key是数字不能直接用这种方法判断
for i in range(len(key)) # int在迭代要用索引,str\list\tuple可以直接迭代序列元素
int型的key可以直接取值,dic1[1],dic2[1]都有意义
上一篇: 用python打印各种图形
下一篇: Linux中修改默认python版本
47745
46238
37112
34628
29229
25887
24747
19863
19419
17910
5717°
6316°
5836°
5889°
6985°
5829°
5846°
6361°
6316°
7677°