函数用于将指定对象插入列表的指定位置_FASTAI2列表扩展类L#6:常用list内置函数下...

FASTAI2列表扩展类L#6:常用list内置函数·下

(摘自《TOP极宽智能量化系列课件》)

案例#6遍历循环操作

Python语言的遍历循环,主要由关键词for、in和enumerate枚举函数实现。

本节案例,介绍列表扩展类L,遍历循环方面的操作。

案例文件名:fa2lsub006.py,我们先看看案例,分组进行解说。

大家先看看第1组程序代码:

print('\n----- #1')

a=L('btc',3,['eth',0],3,['ltc',2],'xrp')

print('a:',a)

第L对象变量a,用于后续操作,对应的输出信息是:

----- #1

a: (#8) ['btc',3,'eth',0,3,'ltc',2,'xrp']

由第1组代码可以看出,L对象的循环、遍历操作,对象当中的item项目数据:

l  可以是不同类型的数据类型,混合操作。

l  相关数据可以重复。

第2组程序代码:

print('\n----- #2')

b='eth' in a

print('b:',b)

b2=3 in a

print('b2:',b2)

对应的输出信息是:

----- #2

b: False

b2: True

第2组程序代码,使用关键词in,用于验证数据是否在L对象当中,其中:

b='eth'in a

虽然L对象当中由“eth”数据,但是,不是作为独立item项目保存的,而是其中一个list列表数据项目其中的一部分:

['eth',0]

所以返回的检查数据是False。

第3组程序代码:

print('\n----- #3')

for obj in a:

    print(obj)

使用for循环,遍历L对象当中的数据,对应的输出信息是:

----- #3

btc

3

['eth', 0]

3

['ltc', 2]

xrp

注意输出数据当中的以下两行:

['eth', 0]

['ltc', 2]

表示L对象当中的item项目数据,可以是复合数据。

第4组程序代码:

print('\n----- #4')

for idx,obj in enumerate(a):

    print(idx,obj)   

使用for循环和enumerate枚举函数,遍历L对象当中的idx下标和数据,对应的输出信息是:

----- #4

0 btc

1 3

2 ['eth', 0]

3 3

4 ['ltc', 2]

5 xrp

输出信息当中前面的数字是idx下标,后面的是对应的item项目数据。

注意输出数据当中的以下两行:

2 ['eth', 0]

4 ['ltc', 2]

表示使用for循环和enumerate枚举函数,进行遍历操作时,L对象当中的item项目数据,可以是复合数据。

L对象List列表类操作小结

  • 列表列表扩展类L,是一个有序的对象集合。

  • slice切片[start:stop:step],步长step 为正数时,从左至右;步长step 为负数时,从右至左。

  • extend扩展函数,如果要将两个L对象合并为一个L对象。

  • copy复制L对象,不要使用=赋值操作符,来复制L对象,应当使用copy方法。

赋值操作,都指向同一个对象,如果修改一个L对象,另一个也会改变;如果想让另一个变量引用一个现有L对象,可以使用=赋值操作符;如果想建立L对象副本,必须使用copy 方法。

  • 从L对象弹出对象 pop,根据对象的idx下标索引值,删除和返回一个对象obj。如果调用pop时没有指定idx索引值,将删除和返回列表中的最后一个对象。如果指定了一个索引值,则会删除和返回那个位置上的对象。如果L对象为空,或者调用pop时指定了一个不存在的索引值,会报错。

  • 从L对象中删除obj项目数据,使用 remove函数,从L对象删除指定obj对象的第一次出现。如果在L对象找到了obj项目数据,就会删除obj项目数据(同时L对象的大小减一)。如果在L对象中没有找到这个obj项目数据值,会报错。

  • insert/append,插入/增加obj项目数据。insert 方法,将一个obj插入到现有L对象中指定idx下标索引值的前面。这样就可以将obj对象,插入到现有L对象开头,或者插入到任何位置。要把obj对象,插入到L对象末尾,使用append函数。

更多资料请参见:

极宽量化公众号,免费订阅,欢迎大家关注。

f7671ad8b1c40cff8eacb05bdf354253.png

FASTAI智能量化论坛http://zwPython.com/forum.php?mod=forumdisplay&fid=65 【极宽QQ群】l  群号:1057170501 ,zwPython.com学习QQ群,面向py初学者和大众小白用户。l  群号:124134140,TOP极宽金融量化,三千人超大QQ群,面向专业金融实盘用户。l  群号:699266891,TFB极宽足球大数据QQ群 。l  群号:790548107,FASTAI智能量化。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值