从零开始的Python入门教程2

来源:互联网 发布:倩女幽魂2mac版下载 编辑:程序博客网 时间:2024/05/18 21:38
       序列
序列就是其他一些语言中的数组,概念差不多
序列分为两种,元组tuple和列表list,元组又叫定值表。其各元素的值不能改变;列表各元素的值可以改变。

  • 序列的建立
建立元组用小括号,列表用中括号

tuple=('a',15,1.2,"gay")
list=[True,'b',15]
tip:一个序列可以作为另一个序列的元素,非常灵活,例如

[1,2,3,[1,2,3]]         #该序列的第四个元素是序列[1,2,3]

  • 元素的引用
元素的引用非常灵活,假如我要引用序列“list”中的元素
  1. 直接引用 list[下标] (下标从0开始)

    >>> lst=list("abcdefg")
    >>> lst[1]
    'b'
  2. 范围引用 list[下限:上限:步长] (不包括第上标的元素)

    >>> lst[0:3]
    ['a', 'b', 'c']

  3. 倒序引用 list[-3] #引用倒数第三个元素

    >>> lst[-1]
    'g'



  • 一些常用的函数和方法
  1. list(seq)    序列转成列表

    >>>name=list("furuanmei")
    >>>name
    结果

    ['f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']
  2. del list[int]    删除元素(int表示被删除元素的下标,比如说int是2就是删除第三个元素)

    >>> del name[2]
    >>> name

    ['f', 'u', 'u', 'a', 'n', 'm', 'e', 'i']
  3. 分片赋值(可以不等长替换,很方便)

    >>> name[2:]=list("yingdi")
    >>> name

    ['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i']
  4. 追加新元素在末尾用append方法,举个栗子

    >>> name.append("X")
    >>> name

    ['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X']
  5. 追加新序列在末尾用extend方法,举个栗子

    >>> name.extend(list("furuanmei"))
    >>> name

    ['f', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']
  6. 统计某个元素出现次数用count方法,举个栗子

    >>> name.count("f")
    2
  7. index方法查找某元素在第几项

    name.index("m")
    输出结果
    15   #表示m这个元素是name的第16个元素
  8. insert方法:插入元素到指定位置

    name.insert(1,"hhhhh")
    print(name)
    结果
    ['f', 'hhhhh', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']

    可见“hhhhh”被插入了第二个位置,符合我们的预期

  9. sort方法排序
    >>> number=[3,100,101,9999,0.03,2333]
    >>> number.sort()
    >>> number  
    结果
    [0.03, 3, 100, 101, 2333, 9999]
    怎么样,是不是很方便,如果用C语言写排序的话,要考虑的问题就多了,加上还有浮点数,会非常麻烦,但是在python里只要用sort函数就能轻松排序了~



这里只是介绍了几个函数,可见在python中对序列进行操作是非常方便的,感兴趣的可以去读读文档,看看标准库里还有哪些实用的函数方法 

name.insert(1,"hhhhh")
print(name)
结果
['f', 'hhhhh', 'u', 'y', 'i', 'n', 'g', 'd', 'i', 'X', 'f', 'u', 'r', 'u', 'a', 'n', 'm', 'e', 'i']

可见“hhhhh”被插入了第二个位置,符合我们的预期

1 0