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项目数据值,会报错。
更多资料请参见: 极宽量化公众号,免费订阅,欢迎大家关注。
| 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智能量化。 |
|