Python教程

python 常见字典/集和/列表/sorted小结

本文主要是介绍python 常见字典/集和/列表/sorted小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

set— 用以判断是否有重复

#构造
a = set(a:List[]), 就可以创建一个集合。
a = set() 

len(a) # 返回长度
# 运算

s3=s1&s2 #交集
s4=s1|s2 #并集
s5=s1-s2 #差集

# 元素插入 & 删除
s.add("val")
s.remoce("val")
s.clear() #清空

字典

#构造
a = {key:val}
a = {}

len(a) # 返回长度

a.get(key,default) # 查找,返回对应的val,否则返回default
a.has_key(key) #若值存在则返回true
a.items() #遍历的迭代器
a.keys() #返回key
a.values() #返回values


# 元素插入 & 删除
s.update(a) #合并a到s
s.pop(key, default) #删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
s.clear() #清空

在这里插入图片描述

sorted函数!

sorted(iterable, cmp=None, key=None, reverse=False)
  • iterable,表示输入的是一个可迭代的对象。比如列表头,字典.item()。
  • cmp,可选选项,自定义比较函数。
  • key, 简单一点的定义,表示根据这个值进行比较大小关系
  • reverse, True/False: 一般默认升序排列。

如何写key:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=lambda s: s[2])            # 按年龄排序
# [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

key 和 reverse 比一个等价的 cmp 函数处理速度要快。这是因为对于每个列表元素,cmp 都会被调用多次,而 key 和 reverse 只被调用一次

如何写cmp
python3删掉了关于这部分参数。python2中的cmp函数没有了。
可以使用functools

import functools
def cmp(a,b):
  if a > b :
    return -1
  elif a < b :
    return 1
  else:
    return 0
     
nums = [1,2,3,4,5,6]
sorted_nums = sorted(nums, key = functools.cmp_to_key(cmp))
 
这篇关于python 常见字典/集和/列表/sorted小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!