目录
1 没什么用的
1.1 实例化后访问属性时自动调用 __getattribute__()
1.2 实例化后自动调用 __init__()
1.3 将列表转变为可迭代对象 __iter__()
1.4 实例化后自动调用,且调用顺序在__init__之前 __new__()
1.5 反向列表相乘 __rmul__()
2 不常用的
2.1 列表元素相加 __add__()
2.2 判断指定元素是否在列表中 __contains__()
2.3 判断列表是否相等 __eq__()
2.4 获取列表中固定位数的值 __getitem__()
2.5 小于等于 __le__()
2.6 返回列表的元素个数 __len__()
2.7 小于 __lt__()
2.8 列表乘整形 __mul__()
2.9 不等于 __ne__()
2.10 将变量转变为列表 __repr__()
2.11 移除列表中所有元素 clear()
2.12 复制指定列表 copy()
2.13 大于等于 __ge__()
3 常用的
3.1 创建一个空的列表 list()
3.2 删除指定位数的元素 __delitem__()
3.3 列表自加 __iadd__()
3.4 列表自乘 __imul__()
3.5 返回倒序的迭代器 __reversed__()
3.6 替换指定位数为指定数值 __setitem__()
3.7 返回变量的字节大小 __sizeof__()
3.8 在列表末尾加入固定内容 append()
3.9 返回列表中存在多少指定值 count()
3.10 在列表后加入可迭代内容 extend()
3.11 获取指定元素在列表的位置 index()
3.12 在指定位置插入指定内容 insert()
3.13 返回最高位的变量,之后删除原列表中的最高位内容 pop()
3.14 移除列表中第一个(从左算起)指定的值 remove()
3.15 将变量转变为倒序 reverse()
3.16 按指定规则排序 sort()
4 最后还有一个定义
列表本身就可以迭代
由于是乘法所以顺序颠倒也不影响结果
这种执行函数是没有返回值的,直接对a进行操作
列表的比较方式为首先第0位元素进行比较
之后是第一位比较
如果位数都相同长度长的更大
__ge__()是可以使用>=替代的
有两种创建方式:
1.创建一个空的列表
2.参数为可迭代对象,将这个可迭代对象转换为列表
这里help文档是有问题的,我们不可以使用 += 替代__iadd__()
列表之间是不可以做乘法的
我把__reversed__()也放过来,可以说区别是返回值的类型不同
#sort()函数,在指定列表中排序
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
print('原版',aList)
b = aList.sort()
print('不使用key,排序后',aList)
#可选参数为key与reserver,参数key默认为None,参数reverse默认为False
#参数key示例如下所示
def takefirst(elem):
return(elem[0])
def takesecond(elem):
return(elem[1])
def takethird(elem):
return(elem[2])
def takefourth(elem):
return(elem[3])
#如指定元素位数内容相同则按照他们在原列表的顺序排序
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
b = aList.sort(key=takefirst)
print('使用第0位,排序后',aList)
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
b = aList.sort(key=takesecond)
print('使用第1位,排序后',aList)
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
b = aList.sort(key=takethird)
print('使用第2位,排序后',aList)
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
b = aList.sort(key=takefourth)
print('使用第3位,排序后',aList)
#reverse为是否倒序,如果赋值为True则为倒序
a = [1,2,3,4]
b = a.sort()
print(a)
b = a.sort(reverse=True)
print(a)
我也没看懂这个定义是什么意思