数据结构是在python程序运行中必不可少的一部分,在深度学习应用,更是常用来存储模型输出的信息,小编在深度学习开发中过程中,发现有时候我们需要对数据结构中存储的信息,进行复合的条件的筛选,并返回特定的值
因此本文详细介绍了四种数据结构下,结合复合函数实现操作的方法
python数据结构 操作指南
- 列表和元组
- 字典和集合
- 如果是字符串或数值
- 如果value是列表
列表和元组
- Count(item):返回指定元素出现在列表/元组中的次数
- Index(item):返回列表/元组中指定元素的索引
- List.reverse():反转列表的元素(在元组中不可用)
- List.sort():按特定的升序或降序对给定列表的元素进行排序(在元组中不可用)
- reversed():返回一个迭代器,该迭代器在List/Tuple中以相反的顺序访问给定序列
- sorted():在List/Tuple中返回指定可迭代对象的排序列表
字典和集合
字典get(key,default)
函数使用key进行索引找到对应的value。如果value不存在,返回默认值,例如,返回’null’。
d = {'name': 'jason', 'age': 20}
d.get('name')
Out: 'jason'
d.get('location', 'null')
Out: 'null'
集合不支持索引
对于字典,我们通常根据键或值按升序或降序排序:
d = {'b': 1, 'a': 2, 'c': 10}
d_sorted_by_key = sorted(d.items(), key=lambda x: x[0])
d_sorted_by_value = sorted(d.items(), key=lambda x: x[1])
d_sorted_by_key
Out: [('a', 2), ('b', 1), ('c', 10)]
d_sorted_by_value
Out: [('b', 1), ('a', 2), ('c', 10)]
字典是一个复合的结构,因为字典的value,可以是字符串也可以是int float(数值) 或者其他四种结构。
如果是字符串或数值
求字典key值(最大/最小)对应的key、value,当然知道key,value=d[key]
key
max(d.keys())
value
d[max(d.keys())]
求字典value值(最大/最小)对应的key,value
key
max(d,key=lambda x:d[x])
value
max(d.values())
value如果是dict、tuple不支持运算符比较
如果value是列表
集合同理
d={'1':[1,2,3],'2':[4]}
求字典value值最大值、最小值对应的key,value
key
max(d,key=lambda x:max(d[x]))
求字典中value值len最大、最小对应的key,value
max(d,key=lambda x:len(d[x]))