Python2.7之列表生成

2017-04-11  本文已影响0人  Sund4y

对于给出的一组数据,要生成列表有以下方法:

(1):

>>>l = []

>>>for x in range(10):

              l.append(x)    //追加元素到列表末尾

print l

[0,1,2,3,4,5,6,7,8,9]

(2):

>>>l = [x for x in range(10) if x%2==0]     //我理解为先执行for语句再执行if语句,最后确定x

>>>print l

[0,2,4,6,8]

---------------------------------------------------------------------------------------------------------------------

廖雪峰老师教程下的练习题

请修改列表生成式,通过添加if语句保证列表生成式能正确地执行:
L1 = ['Hello', 'World', 18, 'Apple', None]
L2 = None

#输出['hello','world','apple']

// 内置函数lower可以转换为小写字母,但是整形和非字符没有lower语法,所以要将整形和非字符过滤掉

// isinstance函数可以判断一个元素是不是字符串

故答案为:

#!/usr/share/bin

#-*-coding:utf-8-*-

L1=['Hello','World',18,'Apple',None]

L2=[x for x in L1 if isinstance(x,str)==True]

print L2

-----------------------------------------------------------------------------------------------------------------------------------------------------

全字符匹配:

Python内置的enumerate函数可以把一个list变成索引-元素对

L1 = '甲乙丙丁戊己庚辛壬癸'

L2='子丑寅卯辰巳午未申酉戌亥'

L=[m+n for i,m in enumerate(L1) for j,n in enumerate(L2) ]   //在for i,m ....中,如果不输入i,则输出m时会附带索引值,即0,’甲‘,此时虽然不输出索引值,但却是真实存在的,并可以用于对奇偶数进行运算判断取值(例如:if i%2==0)

print L

//虽然不是正确的天干地支顺序,但是也是全排序的一个思路了。。。。。。。。。

学习自廖雪峰官网:http://www.liaoxuefeng.com/

上一篇 下一篇

猜你喜欢

热点阅读