赞
踩
1. 构造:
- list1=[] 空list
- list1=["12s",1,25.3,[2,4]] list中的数据类型多种多样
- L=list(range(2,10,2)) 构造连续元素的list
- L=L1 或者 L=L1[:] 列表的赋值
- List的第一个元素的下标为0 或 -len(list)
- List的最后一个元素的下标为len(list)-1 或 -1
- [k + '=' + v for k, v in d.items()] 列表生成式进行构造 一个函数一个序列,函数作用于序列,生成一个序列
- [m + n for m in 'ABC' for n in 'XYZ'] 列表生成式进行构造(从左往右)
2、增加:
- list.append(obj): 在列表末尾添加新的元素
- list.insert(index,obj):将元素插入某一位置之前,如果index大于list的长度,最后加。如果index小于0,最开始加
- list1.extend(list2): 在列表末尾一次性追加另一个序列
- list1=list1+list2 在列表末尾一次性追加另一个序列
- list1=list1*n 在列表末尾一次性追加n-1个当前序列
3、删除:
- list.pop(): 移除列表中的最后一个元素,并且返回该元素的值
- list.pop(index): 移除列表中下表为index的元素,并且返回该元素的值
- list.remove(obj): 移除列表中某个值的第一个匹配项
- del L[0]或del L[2:3] 删除指定下标范围的元素
4、查看:
- len(list): 统计列表中元素个数
- list.count(obj): 统计某个元素在列表中出现的次数
- max(list): 返回列表元素最大值
- min(list): 返回列表元素最小值
- list.index(obj): 从列表中找出某个值第一个匹配项的索引位置
- obj in list1 判断对象是否在列表中,是一个bool类型
5、修改:
- list.reverse()==list[::-1]: 反向列表中元素
- list.sort([func]): 对原列表进行排序 reverse==True时,按降序排列
- cmp(list1,list2): 比较两个列表的元素
- list(seq): 将元组转换为列表
- list=s.split(";",1) 字符串的split()将其按“;”分割成list,split 接受一个可选的第二个参数, 它是要分割的次数s = ";".join(list) join() 方法将list合成一个字符串,以“;”划分,返回一个字符串
- L=L[n:] L=L[:m] L=L[n:m:3] L=L[::2] 列表的切片(同样适用于字符串)
zip(*matrix) 矩阵转置
6、过滤:
- [elem for elem in list1 if len(elem) > 1] 过滤长度大于0的元素
- [elem for elem in list1 if elem != "b"] 过滤长度不等于“b”的元素
- [elemfor elem in list1 if li.count(elem) == 1] 过滤不重复的元素
i.count(elem) == 1] 过滤不重复的元素
7、循环:
- <span style="color:#000000">for x,y in [(1,3),(2,4)]: 获取列表的元素
- for i ,v in enumerate(L): 获取列表的元素和下标</span>
8、高阶函数:
- 高阶函数:
- map() 接收一个函数和一个序列。map()把传入的函数依次作用于每个元素,然后在返回整个序列
- list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
- reduce() 接收一个函数和一个序列,reduce()把传入的函数依次作用于每2个元素,做累积,最后返回一个值
- reduce(x+y, [1, 3, 5, 7, 9])
- reduce(lambda x, y: x * 10 + y, map(char2num, s))
- filter() 接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。返回的是一个迭代器
- list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
- Sorted() 接收一个序列和一个key,将key作用于这个序列,然后对这个序列排序
- sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True)
- print(sorted([('Bob', 75),( 'Adam',92),( 'Bart',66),( 'Lisa',88)],key=lambda x:x[0]))
9、队列:
- list用成队列 要用collections.deque---先进先出
- from collections import deque
- queue=deque(["Eric","John","Michael"])
- queue.append("Terry") # Terry arrives
- queue.append("Graham") # Graham arrives
- queue.popleft() # The first to arrive now leaves'Eric'
- queue.popleft() # The second to arrive now leaves'John'
- queue # Remaining queue in order of arrival
- deque(['Michael', 'Terry', 'Graham'])
10、堆栈:
- list用成栈----先进后出
- L.append
- L.pop
11、链表:
- # Definition for singly-linked list.
- # class ListNode(object):
- # def __init__(self, x):
- # self.val = x
- # self.next = None
-
- class Solution(object):
- def addTwoNumbers(self, l1, l2):
- """
- :type l1: ListNode
- :type l2: ListNode
- :rtype: ListNode
- """
- l3=p=ListNode(0) #定义只有头节点的空链表,l3为头指针,p为遍历指针,carry为进值
- carry=0
- while l1 or l2 or carry:
- if l1:
- carry+=l1.val
- l1=l1.next
- if l2:
- carry+=l2.val
- l2=l2.next
- p.next=ListNode(carry%10)
- p=p.next;
- carry=carry//10
- return l3.next
'运行
12、帮助:
用help(list)可以看见其方法,元素的增删改查都有各种现成的方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。