美文网首页
Python2.7之列表生成

Python2.7之列表生成

作者: Sund4y | 来源:发表于2017-04-11 21:17 被阅读0次

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

    (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/

    相关文章

      网友评论

          本文标题:Python2.7之列表生成

          本文链接:https://www.haomeiwen.com/subject/ssnuattx.html