数据结构是在python程序运行中必不可少的一部分,在深度学习应用,更是常用来存储模型输出的信息,小编在深度学习开发中过程中,发现有时候我们需要对数据结构中存储的信息,进行复合的条件的筛选,并返回特定的值
因此本文详细介绍了四种数据结构下,结合复合函数实现操作的方法
列表和元组
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()) • 1
value
d[max(d.keys())]
求字典value值(最大/最小)对应的key,value
key
max(d,key=lambda x:d[x]) • 1
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])) • 1
求字典中value值len最大、最小对应的key,value
value
max(d,key=lambda x:len(d[x]))