返回顶部
首页 > 资讯 > 后端开发 > Python >【笔记3】python中的映射操作
  • 212
分享到

【笔记3】python中的映射操作

操作笔记python 2023-01-31 06:01:13 212人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

采用映射代替条件查找 映射(如dict等)的搜索速度远快于条件语句(如if等),采用映射替代条件查找可以提高代码效率,目前python中只有一种标准映射类型,就是字典(dict),但是列表也可以做出这种效果,总结了两种方法。 1.

采用映射代替条件查找

映射(如dict等)的搜索速度远快于条件语句(如if等),采用映射替代条件查找可以提高代码效率,目前python中只有一种标准映射类型,就是字典(dict),但是列表也可以做出这种效果,总结了两种方法。

1.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)元组对的列表
取出对应的结果:

  • dict_items([(1, ‘32’), (2, ‘31’), (3, ‘432’), (4, ‘467’), (5, [‘fa’, ‘faa’]), (6, (‘f’, ‘fa’, ‘asdfa’)), ((7, 8, 9), ‘f’)])
  • (‘f’,’fa’,’asdfa’)

2. list

listdic = [
    ['',['','']]
    ['fruit',['apple','orange','123']]
    ['',['']]
    ...
]
for i in range(9):
    type, name = listdic[i]

本质是高维列表,可以通过listdic[][]来访问,比如:

  • listdict[1] = [‘fruit’,[‘apple’,’orange’,’123’]]
  • listdict[1][0] = fruit
  • listdict[1][1] = [‘apple’,’orange’,’123’]
  • listdict[1][1][2] = 123
  • listdict[1][1][2][0] = 1

可以通过赋值,将对应的头尾取出来:

  • listdict[1] = [‘fruit’,[‘apple’,’orange’,’123’]]
  • type, name = listdic[1]
  • type = fruit
  • name = [‘apple’,’orange’,’123’]

ps 字典的不同表示


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]都有意义

--结束END--

本文标题: 【笔记3】python中的映射操作

本文链接: https://lsjlt.com/news/190080.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作