当前位置:   article > 正文

Python--List方法总结_pythin编写程序已知 list-a=[1,2,3,4,5,6],请通过两种方法实现,使 list

pythin编写程序已知 list-a=[1,2,3,4,5,6],请通过两种方法实现,使 list=[6,5,4,3,

1. 构造:

  1. list1=[] 空list
  2. list1=["12s",1,25.3,[2,4]] list中的数据类型多种多样
  3. L=list(range(2,10,2)) 构造连续元素的list
  4. L=L1 或者 L=L1[:] 列表的赋值
  5. List的第一个元素的下标为0 或 -len(list)
  6. List的最后一个元素的下标为len(list)-1 或 -1
  7. [k + '=' + v for k, v in d.items()] 列表生成式进行构造 一个函数一个序列,函数作用于序列,生成一个序列
  8. [m + n for m in 'ABC' for n in 'XYZ'] 列表生成式进行构造(从左往右)

2、增加:

  1. list.append(obj): 在列表末尾添加新的元素
  2. list.insert(index,obj):将元素插入某一位置之前,如果index大于list的长度,最后加。如果index小于0,最开始加
  3. list1.extend(list2): 在列表末尾一次性追加另一个序列
  4. list1=list1+list2 在列表末尾一次性追加另一个序列
  5. list1=list1*n 在列表末尾一次性追加n-1个当前序列

3、删除:

  1. list.pop(): 移除列表中的最后一个元素,并且返回该元素的值
  2. list.pop(index): 移除列表中下表为index的元素,并且返回该元素的值
  3. list.remove(obj): 移除列表中某个值的第一个匹配项
  4. del L[0]或del L[2:3] 删除指定下标范围的元素

4、查看:

  1. len(list): 统计列表中元素个数
  2. list.count(obj): 统计某个元素在列表中出现的次数
  3. max(list): 返回列表元素最大值
  4. min(list): 返回列表元素最小值
  5. list.index(obj): 从列表中找出某个值第一个匹配项的索引位置
  6. obj in list1 判断对象是否在列表中,是一个bool类型

5、修改:

 

  1. list.reverse()==list[::-1]: 反向列表中元素
  2. list.sort([func]): 对原列表进行排序 reverse==True时,按降序排列
  3. cmp(list1,list2): 比较两个列表的元素
  4. list(seq): 将元组转换为列表
  5. list=s.split(";",1) 字符串的split()将其按“;”分割成list,split 接受一个可选的第二个参数, 它是要分割的次数s = ";".join(list) join() 方法将list合成一个字符串,以“;”划分,返回一个字符串
  6. L=L[n:] L=L[:m] L=L[n:m:3] L=L[::2] 列表的切片(同样适用于字符串)
zip(*matrix)                 矩阵转置

6、过滤:

  1. [elem for elem in list1 if len(elem) > 1] 过滤长度大于0的元素
  2. [elem for elem in list1 if elem != "b"] 过滤长度不等于“b”的元素
  3. [elemfor elem in list1 if li.count(elem) == 1] 过滤不重复的元素
i.count(elem) == 1] 过滤不重复的元素

7、循环:

  1. <span style="color:#000000">for x,y in [(1,3),(2,4)]: 获取列表的元素
  2. for i ,v in enumerate(L): 获取列表的元素和下标</span>

8、高阶函数:

  1. 高阶函数:
  2. map() 接收一个函数和一个序列。map()把传入的函数依次作用于每个元素,然后在返回整个序列
  3. list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
  4. reduce() 接收一个函数和一个序列,reduce()把传入的函数依次作用于每2个元素,做累积,最后返回一个值
  5. reduce(x+y, [1, 3, 5, 7, 9])
  6. reduce(lambda x, y: x * 10 + y, map(char2num, s))
  7. filter() 接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。返回的是一个迭代器
  8. list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
  9. Sorted() 接收一个序列和一个key,将key作用于这个序列,然后对这个序列排序
  10. sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True)
  11. print(sorted([('Bob', 75),( 'Adam',92),( 'Bart',66),( 'Lisa',88)],key=lambda x:x[0]))

9、队列:

  1. list用成队列 要用collections.deque---先进先出
  2. from collections import deque
  3. queue=deque(["Eric","John","Michael"])
  4. queue.append("Terry")    # Terry arrives
  5. queue.append("Graham")   # Graham arrives
  6. queue.popleft()   # The first to arrive now leaves'Eric'
  7. queue.popleft()   # The second to arrive now leaves'John'
  8. queue      # Remaining queue in order of arrival
  9. deque(['Michael', 'Terry', 'Graham'])

10、堆栈:

  1. list用成栈----先进后出
  2. L.append
  3. L.pop

11、链表:

  1. # Definition for singly-linked list.
  2. # class ListNode(object):
  3. # def __init__(self, x):
  4. # self.val = x
  5. # self.next = None
  6. class Solution(object):
  7. def addTwoNumbers(self, l1, l2):
  8. """
  9. :type l1: ListNode
  10. :type l2: ListNode
  11. :rtype: ListNode
  12. """
  13. l3=p=ListNode(0) #定义只有头节点的空链表,l3为头指针,p为遍历指针,carry为进值
  14. carry=0
  15. while l1 or l2 or carry:
  16. if l1:
  17. carry+=l1.val
  18. l1=l1.next
  19. if l2:
  20. carry+=l2.val
  21. l2=l2.next
  22. p.next=ListNode(carry%10)
  23. p=p.next;
  24. carry=carry//10
  25. return l3.next
'
运行

12、帮助:

用help(list)可以看见其方法,元素的增删改查都有各种现成的方法

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/931361
推荐阅读
相关标签
  

闽ICP备14008679号