list集合操作

1:列表是写在方括号的 [ ],用逗号分隔开的元素列表
和字符串一样,列表同样可以被索引和截取
list被截取返回一个包含所需元素的新列表可以用加号拼接的
也可以用切片

与Python字符串不一样的是list中的元素是可以改变的

函数:
len(list) 获取list的长度
max(list) 获取最大值
min(list) 获取最小值
list(seq) 将元祖转换为列表


方法:
list.append(obj) 在列表末尾添加新对象
list.coutn(obj) 统计某个元素在list中出现的次数
list.extend(seq) 在list的末尾一次性追加另一个序列中的值
list.index(obj) list的某一项
list.insert(index,obj) 插入元素
list.pop(obj=list[-1]) 移除末尾返回一个元素
list.remove(obj) 移除列表中的第一个某个值
list.reverse() 就地反向list
list.sort([reverse=false]) 就地排序list 默认升序
list.clear() 清空列表
list.copy() 复制list

del obj语句:


1:将list作为堆来使用, 后进先出
append() , pop()

2:将list作为队列来使用, 先进先出 (这样做效率并不高)
append(), popleft()

列表循环:

1:list循环

for x in list:
for i,val in enumerate(list): 循环出索引
for i in range(len(list)): 循环出索引
print("索引:{0},值:{1}".format(i,list[i]))

排序循环输出: 利用sorted() set()序列
for x in sorted(set(list)):
反序循环输出 利用reversed(list)
for x in reversed(list):
多个list输出 利用zip(list...)
for x,y,z in zip(list1,list2,list3): 注意:这个只按照len(list)最小的循环

for x,y,z in zip(sorted(list1),reversed(list2),list3): 里面参数还可以嵌套


:列表推导式:
列表推导式由包含一个表达式的括号组成,表达式后面跟随一个  for 子句,之后可以有零或多个  for或  if 子句。结果是一个列表,由表达式依据其后面的  for 和  if 子句上下文计算而来的结果构成。
[x**2 for x in range(10) if x>5]
[一个表达式.,循环...,判断...]
还有嵌套列表推导式


参数列表的分拆
另有一种相反的情况: 当你要传递的参数已经是一个列表,但要调用的函数却接受分开一个个的参数值。这时候你要把已有的列表拆开来。例如内建函数  range() 需要要独立的 start,stop 参数。你可以在调用函数时加一个 * 操作符来自动把参数列表拆开:
>>> list(range(3, 6)) [3, 4, 5]>>> args = [3, 6]>>> list(range(*args)) [3, 4, 5]

以同样的方式,可以使用 ** 操作符分拆关键字参数为字典:
这样就可以很好的理解了魔法变量

list升级 二维列表:
待续...




猜你喜欢

转载自blog.csdn.net/qq_36607551/article/details/80049601