Python 基础起步 (六) List的实用技巧大全

栏目: Python · 发布时间: 6年前

内容简介:## List初步进阶 ##hello,大家好,经过上篇笔记的介绍,我们已经对List这种数据类型有了初步的理解,今天我要趁热打铁,为大家介绍一些实用的List技巧,希望能帮助到各位大家~简单来说List1.extend(List2),会返回List1,结果是将List2添加到List1里,相当于extend前面的列表合并括号里的。

## List初步进阶 ##

hello,大家好,经过上篇笔记的介绍,我们已经对List这种数据类型有了初步的理解,今天我要趁热打铁,为大家介绍一些实用的List技巧,希望能帮助到各位大家~

extend合并列表()

first_lst = ['I','am','noob']
    second_lst = [12,34,56]
    first_lst.extend(second_lst)
    print(first_lst)
Out:['I', 'am', 'noob', 12, 34, 56]

简单来说List1.extend(List2),会返回List1,结果是将List2添加到List1里,相当于extend前面的列表合并括号里的。

count()查看列表中元素出现次数

lst = [1,2,3,2,4,5,5,5,6,7]
    print(lst.count(5))
    Out: 4

这个方法很简单但是却很实用,会知道一个元素在列表中出现的次数,这里5出现了3次,结果输出3

分解列表赋值

a = [1, 2, 3]
x, y, z = a
print(x)
print(y)
print(z)
Out:1
    2
    3

这里很有意思,简单来说就是我们可以分别把一个列表中的值分别赋值给变量

List.index()

lst = ['I','am','noob']
    lst.index('am')
Out:1
    lst.index('good')
Out:ValueError: 'adfa' is not in list

我们可以获取列表中一个值的index,但是如果列表中不存在这个值会抛出ValueError

sorted(List,reverse=True or False)

numbers = [2,1,3,5,4,8,6,7]
    ascending = sorted(numbers)
    descending = sorted(numbers,reverse=True)

    print(ascending)
    print(descending)

Out:[1, 2, 3, 4, 5, 6, 7, 8]
    [8, 7, 6, 5, 4, 3, 2, 1]

sorted()括号里面可以放入一个可 排序 的list,默认reverse=False,也就是从小到大啦,如果我们赋值reverse=True,那就是倒序啦,大家可以试试字符串在列表里是什么情况~

List.insert(index,value)

numbers = [1,3,5,7,9]
    numbers.insert(0,0)
    print(numbers)
Out:[0, 1, 3, 5, 7, 9]

这个方法很好理解对不对!就是向一个列表里面插入值,括号里面第一个值是索引,第二个值是想要插入的值

倒序输出一个List

numbers = [1,3,5,7,9]
    reverse_numbers = numbers[::-1]
    print(reverse_numbers)
Out:[9, 7, 5, 3, 1]

这里可能知识点有点略微超前,利用List的切片功能,这里numbers后面的中括号其实包括默认的三个值:

  • [start_index : end_index : steps]

最后的steps意思就是说隔几个值选取,这里我们全选numbers里所有的值,但是-1就是倒序一个个输出啦。如果还有不明白的小白朋友们可以百度一下哈,嗖的一下百家号 Python 补习班就出来啦,哈哈,你啥都没查到~ 开个小玩笑。

filter,map,lamba ,reduce

关于这四个方法的具体讲解就不在这里啦,因为我们是小白,对目前来说有点不好理解,之后我会专门讲一下,大家可以看看例子:

  • filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)
  • map(function, sequence) :对sequence中的item依次执行function(item),见执行结果组成一个List返回
  • reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和
  • lambda:这是Python支持一种有趣的语法,它允许你快速定义单行的最小函数

现在依次举栗子啦:

filter()根据返回值True还是False 筛选奇偶数

numbers= [1,2,3,4,5,6,7,8,9,10]
    
    even_numbers =list(filter(lambda x:x % 2,numbers))
    odd_numbers = list(filter(lambda x:x % 2==0,numbers))
    
    print('Even Numbers are :',even_numbers)
    print('Odd Numbers are :',odd_numbers)

Out:Even Numbers are : [1, 3, 5, 7, 9]
    Odd Numbers are : [2, 4, 6, 8, 10]

map()根据一个数字列表生成一个每个值都是原来3倍的数组

numbers= [1,2,3,4,5,6,7,8,9,10]
    triple_numbers= list(map(lambda x:x*3,numbers))
    print('Triple Numbers are :',triple_numbers)
    
Out:Triple Numbers are : [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

reduce()根据一个数字列表生成累积和

from functools import reduce
     numbers= [1,2,3,4,5,6,7,8,9,10]
     result_add= reduce(lambda x,y:x+y,numbers)
     print('Total :',result_add)
Out: Total : 55

最后这几个不需要大家现在就搞明白,前几个可以熟悉一下,最好能自己练习一下,今天就到这里啦

完结,撒花~


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Making Things See

Making Things See

Greg Borenstein / Make / 2012-2-3 / USD 39.99

Welcome to the Vision Revolution. With Microsoft's Kinect leading the way, you can now use 3D computer vision technology to build digital 3D models of people and objects that you can manipulate with g......一起来看看 《Making Things See》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器