zoukankan      html  css  js  c++  java
  • python学习列表

    列表

      普通列表 member = ['abc','def','gh']

      混合列表 mix = [1,3.05,'abc',[1,2,3]]

      空列表 empty = [0]

    添加元素

      添加单个元素  列表名.append(元素名)

      添加多个元素  列表名.extend([元素1,元素2])   //添加的是一个列表

      添加到指定位置  列表名.insert(位置,元素)    //列表位置从0开始

    (XXX.append前的是作用域)

    获取元素

      member[位置]

    删除元素

      已知元素名  列表名.remove('abc')

      已知位置   del.列表名[位置]  //(删除整个列表  del.列表名)

    取出并删除一个元素

      pop()  取出最后一个值

      num=pop()  取出最后一个值

      num=pop(位置)

    列表分片(获取多个元素)

      列表名[1:4]  获取列表中1到3位置的元素,组成新列表  //特别的有[:4]  [1:]  [:]

    列表的操作符

      [3,2,1]>[2,1,3]为false,从第一个元素开始比较,只要有一个不符合就是false

      list1 = list2 + list3  2和3列表合并后赋给列表1,用于添加元素  //不能list1 = list2 + 'abc'

      list1 * 3  将列表复制3次合并  //list *=3赋值给list

      元素名 in 列表名  判断元素是否在列表中,返回true或者false

      元素名 not in 列表名  判断元素是否不在列表中

        如果列表中套有列表需要  元素名 in 列表名[列表位置]

        取出列表中的列表中元素  列表名[列表位置][元素位置]

    其他常用dir

      列表.count(元素名)  计算元素出现次数

      列表.index(元素名,范围起始,范围结束)  查找元素位置

      列表.reverse()  翻转列表

      列表.sort()  从小到大排序  //sort(func,key,reverse)  用list.sort(reverse=True)从大到小

    拷贝列表

      list1 = list2[:]  拷贝列表

      list3 = list2  指定该列表为新的名字,若修改list2,则list3也改变

    元组:不可改变的列表

      创建  tuple1 = (1,2,3)  或者tuple2 = 1,2,3 tuple = () tuple = 1,  //用的小括号和逗号

      访问  tuple[1]  tuple(1:4)

      重复操作元组  8*(8,)  //而不是8*(8)

      添加元素  temp = ('a','b','c','d')  temp = temp[:2] + ('e',) + temp[2:]  则temp=('a','b','e','c','d')

      删除  del temp

      其他操作符与列表差不多

        

    要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11))

    >>> list(range(1, 11))
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    

    但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环:

    >>> L = []
    >>> for x in range(1, 11):
    ...    L.append(x * x)
    ...
    >>> L
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

    >>> [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    

    写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。

    for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:

    >>> [x * x for x in range(1, 11) if x % 2 == 0]
    [4, 16, 36, 64, 100]
    

    还可以使用两层循环,可以生成全排列:

    >>> [m + n for m in 'ABC' for n in 'XYZ']
    ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
    
  • 相关阅读:
    UICollectionView
    UIDynamicPPT
    05-UIDynamic
    键盘处理return key-工具条
    源代码管理工具 git
    源代码管理工具
    核心动画09-CATransition转场动画
    核心动画06-时钟(了解)
    Intersect,Minus,union all 和union的区别
    freemarker大于,小于 gt,lt 的用法
  • 原文地址:https://www.cnblogs.com/jdzhang1995/p/10229166.html
Copyright © 2011-2022 走看看