list操作荟萃

1  列表合并

   不用for循环,可以直接用+或extend方法

    a=[1,2,3];b=[4,5,6]

    a+b

    或  a.extend(b)

   [1,2,3,4,5,6]

  如果列表很大的话,+会比较慢,使用extend更好

2  列表元素去重

   使用set()对列表元素进行去重

  a=[1,2,3,4,2,3]

  list(set(a))

扫描二维码关注公众号,回复: 12836803 查看本文章

3 列表排序

  使用sort或内建函数sorted对列表进行排序,它们之间的区别有两点:

   a      sort()方法是对原列表进行操作,而sorted()方法会返回一个新列表

   b     sort()是应用列表上的方法,而sorted()可以对所有可迭代的对象进行排序

   默认是升序,可以变为降序

   a.sort(reverse=True)   #降序

 4   遍历列表的索引和元素对

   使用enumerate()函数可以同时输出索引和元素值

 a=["python","study"]

for  i ,v  in  enumerate(a):

     print(i,v)

5  查找列表中出现频率最高的元素

 使用max()函数可以快速查找出一个列表中出现频率最高的元素

 b=max(set(a),key=a.count)

6  统计列表中所有元素的出现次数

   如果想知道列表中所有元素的出现次数,可以使用collections模块。collections模块是python中的一个宝藏模块,它提供了很多针对序列的操作方法。

counter方法正好可以完美解决这个需求。Counter返回一个字典

import random
import collections
lista=[]
for i in range(15):
    lista.append(random.randint(1,10))

print(lista)
dicta=dict(collections.Counter(lista))
print(dicta)


#结果
[1, 6, 7, 1, 2, 1, 9, 7, 4, 5, 7, 10, 6, 5, 5]
{1: 3, 6: 2, 7: 3, 2: 1, 9: 1, 4: 1, 5: 3, 10: 1}

7  将两个列表合并为字典

  a=[1,2,3]

  b=["one","two","three"]

 dict(zip(a,b))

{1:"one",2:"two",3:"three"}

8  去掉一个最小值和一个最大值操作

a=[4,5,6,1]

minx,*mid,maxx=sorted(a)

print(mid)

[4,5]

算平均值  sum(mid)/len(mid)

4.5

9  忽略点模型元素(用下划线实现)

a=[4,5,6,1]

minx,_,*mid,maxx=sorted(a)

忽略掉第二小的元素

print(mid)      ====>5

猜你喜欢

转载自blog.csdn.net/sichuanpb/article/details/114866664