定义:
lista=[] #定义一个空集
lista=[1,2,3,4] #定义时直接赋值
lista=[[1,2],[2,3],[3,4]] #定义二维数组
访问:
list[index] #取得数组第一维(取行)
list[index][subindex] #取得数组第二维(取值)
[x[2] for x in list] #取得数组第三列(取列)
统计:
len(list) #数组的长度,如len([1,2,3,1]) =>4
list.count(obj) #obj在list数组中出现的次数,如[1,2,3,1].count(1) =>2
max(list) #求list数组中的最大值,如max([1,2,3,1]) =>3
min(list) #求list数组中的最小值,如max([1,2,3,1]) =>1
添加:
list.append(obj) #在list数组的末尾添加元素obj
list.insert(index, obj) #在list数组的index索引位置插入元素obj
list.extend(seq) #在list列表末尾一次性追加另一个序列seq中的多个值(用新列表扩展原来的列表)
list=list1+list2 #同上,上例相当于list=list+seq
删除:
del list[2] #删除list数组下标为2的元素
list.pop([index=-1]) #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) #移除列表中某个值的第一个匹配项
排序:
list.reverse() #反向列表中元素,如[1,2,3]变为[3,2,1]
list.sort(cmp=None, key=None, reverse=False) #对原列表进行排序
>>cmp -- 可选, 自定义排序方法。
>>key -- 可选,指定用来进行比较的元素。
>>reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
#示例1
listd = ['e', 'a', 'u', 'o', 'i'] #定义
listd.sort(reverse=True) #反向排序
print(listd) #['u', 'o', 'i', 'e', 'a']
#示例2
# 获取列表的第二个元素
def takeSecond(elem):
return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)
# 输出:[(4, 1), (2, 2), (1, 3), (3, 4)]
print(random)
去重:
list=set(list) #set([1,2,3,1]) =>[1,2,3]
比较:
cmp(list1, list2)
>>如果比较的元素是同类型的,则比较其值,返回结果。
>>如果两个元素不是同一种类型,则检查它们是否是数字。
如果是数字,执行必要的数字强制类型转换,然后比较。
如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
否则,通过类型名字的字母顺序进行比较。
>>如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
>>如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
转化:
list(seq) #将元组转换为列表
str(list) #将列表转化为字符串
运算:
1. 差集
方法a:
ret_list = [item for item in a_list if item not in b_list]
方法b:
ret_list = list(set(a_list)^set(b_list))
2. 并集
ret_list = list(set(a_list).union(set(b_list)))
3. 交集
ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))