1、对象和值的比较
对象的是否相同: a is b #相同返回True,否则False
值是否相同:a == b #相同返回True,否则False
2、列表切片操作返回新列表
对列表对象进行切片 或 “+”操作均返回新列表,不影响原有列表
sorted(list) 内置排序函数也是返回新列表,和 list.sort()不同。
3、bisect模块:
bisect.insort (list,value) 返回将value插入列表的索引值
bisect.bisect(list,value) 返回value将会插入列表的索引,实际不插入列表
4、元组的比较
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
- 如果是数字,执行必要的数字强制类型转换,然后比较。
- 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
- 否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
def is_after(t1, t2): """Returns True if t1 is after t2; false otherwise.""" return (t1.hour, t1.minute, t1.second) > (t2.hour, t2.minute, t2.second)
5、同时返回商和余数
divmod(a,b) 是用第一个参数除以第二个参数并以元组的形式返回商和余数
a, b = divmod(35,2)#返回值(17,1),所以a=17 b=16、对象的属性和值:
打印对象所有属性及其对应的值
def print_attributes (obj): for attr in vars (obj): print (attr , getattr (obj , attr ))