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

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

内容简介:## 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

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

完结,撒花~


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

查看所有标签

猜你喜欢:

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

构建高性能Web站点

构建高性能Web站点

郭欣 / 电子工业出版社 / 2009-8 / 59.00元

本书围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,涵盖了Web站点性能优化的几乎所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。......一起来看看 《构建高性能Web站点》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具