• [python]学习笔记,第二章列表和元素


         在Python中最基本的数据结构就是序列

         一、其中最为常用的是列表和元组。

         1.首先看序列,建立一个序列,以及序列间的嵌套

    >>> edward=['ni  hao',43]
    >>> john=['ni ye hao',42]
    >>> database=[edward,john]
    >>> database
    [['ni  hao', 43], ['ni ye hao', 42]]
    >>> john
    ['ni ye hao', 42]

        2.索引,类似数组的访问a[1];

        3.序列的分片以及乘除操作

    >>> tag='<a href="www.baidu.com">baidu</a>'
    >>> tag[2:1]
    ''
    >>> tag[4:5]
    'r'
    >>> tag[4:11]
    'ref="ww'
    >>> tag+'helloworld'
    '<a href="www.baidu.com">baidu</a>helloworld'
    >>> tag*2
    '<a href="www.baidu.com">baidu</a><a href="www.baidu.com">baidu</a>'
    >>> [11]*11
    [11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11]

        4.成员资格,in操作符

        >>> 'w' in tag
        True

        5.长度,最大和最小

    >>> number=[100,1,290]
    >>> max(number)
    290
    >>> min(number)
    1
    >>> len(number)
    3
    >>> 

        二、列表,Python的苦力

        列表是可变的,可以改变列表的内容。

        list方法

        append方法:用于在列表末尾追加新的对象,append方法与其他方法类似,只是在恰当的位置修改列表,也就是说不是创建了一个新列表而是在原有列表上进行修改。

        count方法,统计某个元素在列表中出现的次数。

        extend 方法,在列表的末尾一次性追加另一个序列的多个值,换句话说,可以用新列表扩展原有的列表。比较类似连接操作,区别在与extend方法修改的原有序列,而+则返回的是一个新序列,当然也可以用分片赋值的方法来实现相同的结果。

        index 方法,从列表中找出某个值第一个匹配项的索引位置

        insert方法,将对象插入列表中

        pop 方法,移除列表中的一个元素,并返回该元素的值。类似数据结构的出栈操作。注意pop方法有返回值。

    remove 方法,用于移除列表中某个值的第一个匹配项,和index方法相反。 注意是第一个匹配项,如果有多个则只移除第一个。

        reverse方法,将列表中的元素反向存放。颠倒的意思。

        sort 方法,用于再原位置对列表进行排序,这意味着改变原来的列表,让其中的元素按一定的顺序排序,并不是简单的返回一个列表的副本。也就是说不能通过sort函数返回一个和原序列占同样内存的副本并显示出来。

    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua']
    >>> name.append("nihao")
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao']
    >>> names=name.append("shsh")
    >>> names#此处不会赋值成功显然append并不是返回一个对象
    
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh']
    >>> name.count('shsh')
    1
    >>> name.append('wangwu')
    >>> name.count('wangwu')
    2
    >>> sex=['man']
    >>> name.extend(sex)
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu', 'man']
    >>> name+sex
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu', 'man', 'man']
    >>> newname=name+sex
    >>> newname
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu', 'man', 'man']#利用连接也能达到extend的功能
    >>> name[len(name):]=sex
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu', 'man', 'man']
    >>> del name[len(name)]#此处报错是因为超出了序列的长度
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: list assignment index out of range
    >>> len(name)
    9
    >>> del name[8]
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu', 'man']
    >>> del name[len(name)-1]
    >>> name
    ['wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu']
    
    
    >>> name.index('lisi')
    2
    >>> name[2]
    'lisi'
    
    >>> name.insert(0,'nihao')
    >>> name
    ['nihao', 'wangwu', 'zhangsan', 'lisi', 'xioahua', 'nihao', 'shsh', 'wangwu']
    
    >>> name.pop()
    'wangwu'
    >>> name.pop(3)
    'lisi'
    >>> name
    ['nihao', 'wangwu', 'zhangsan', 'xioahua', 'nihao', 'shsh']
    >>> name.pop(0)
    'nihao'
    
    >>> name.append(name.pop())
    >>> name
    ['wangwu', 'zhangsan', 'xioahua', 'nihao', 'shsh']
    
    
    >>> name.insert(3,'wangwu')
    >>> name
    ['wangwu', 'zhangsan', 'xioahua', 'wangwu', 'nihao', 'shsh']
    >>> name.remove('wangwu')
    >>> name
    ['zhangsan', 'xioahua', 'wangwu', 'nihao', 'shsh']
    >>> name.reverse#忘记加括号了
    <built-in method reverse of list object at 0xb74e288c>
    >>> name
    ['zhangsan', 'xioahua', 'wangwu', 'nihao', 'shsh']
    >>> x=[1,2,3,4,5,6]
    >>> x
    [1, 2, 3, 4, 5, 6]
    >>> x.reverse()
    >>> x
    [6, 5, 4, 3, 2, 1]
    >>> name.reverse()
    >>> name
    ['shsh', 'nihao', 'wangwu', 'xioahua', 'zhangsan']
    
    >>> name.sort()
    >>> name
    ['nihao', 'shsh', 'wangwu', 'xioahua', 'zhangsan']>>> x=[2,5,1,9,5,4,0,8]
    >>> x.sort()
    >>> x
    [0, 1, 2, 4, 5, 5, 8, 9]
    >>> y=x.sort()
    >>> y >>> x=[2,5,1,9,5,4,0,8]
    >>> y=x[:]
    >>> y.sort()
    >>> x
    [2, 5, 1, 9, 5, 4, 0, 8]
    >>> y
    [0, 1, 2, 4, 5, 5, 8, 9]

        cmp方法,cmp(x,y),如果大于则返回1,小于返回-1,等会返回0。

        reverse关键字的使用,比如x.sort(reverse=ture)则表示反向排序。

       3.元组

         元组和列表差不多,但区别在于元组不可更改,元组的创建很简单,仅用“,”分割就可以。比如

         >>>1,2,3

             (1,2,3)        就创建了元组。元组一般用圆括号表示。

         tuple函数,将序列转换成元组。tuple([1,2,3])

          尽管看起来序列更好用,元组的限制太多。但元组也有重要的作用

          元组可以在映射中当做键使用,而列表则不行

          元组可以作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理。(当然此处我们还用不到这些)

        

        

  • 相关阅读:
    js模拟点击加载事件代码
    js添加节点
    js数字随机产生并相加
    转:Selenium借助AutoIt识别上传(下载)详解
    [原创] web_custom_request 与 Viewstate
    转:浏览器与WEB服务器工作过程举例
    转:WebDriver(Selenium2) 处理可能存在的JS弹出框
    转:Loadrunner报错“Too many local variablesAction.c”解决方法
    转:loadrunner关联及web_reg_save_param方法浅析
    转:性能测试流程剖析
  • 原文地址:https://www.cnblogs.com/qxhcpp/p/2451859.html
Copyright © 2020-2023  润新知