Python学习笔记(1)---列表和元

发布时间:2019-08-09 08:50:58编辑:auto阅读(1565)

    什么是列表?

    列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。

    列表的介绍

    一、更新列表

    1.元素赋值

    >>> a=[1,3,4,5]

    >>> a[1]=10 #改变a中第二个值为10

    >>> a

    [1, 10, 4, 5]

    2.增加元素

    >>> a=[1,10,4,5]

    >>> a.append(6) #用法:list.append(obj)

    >>> a

    [1, 10, 4, 5, 6]

    3.删除元素

    >>> a=[1,10,4,5,6]

    >>> del a[2] #删除第三个元素

    >>> a

    [1, 10, 5, 6]

    4.分片赋值

    >>> b=list('abc') #list函数将字符串转化为列表

    >>> b

    ['a', 'b', 'c']

    >>> b[1:1]='d' #使用分片赋值增加元素

    >>> b

    ['a', 'd', 'b', 'c']

    >>> b[1:2]='h' #使用分片赋值修改元素

    >>> b

    ['a', 'h', 'b', 'c']

    >>> b[2:3]='' #使用分片赋值删除元素

    >>> b

    ['a', 'h', 'c']

    二、列表方法

    1.统计元素个数 count

    用法:list.count(obj)

    >>> a=list('hello,world')

    >>> a.count('l')

    3

    2.在列表末尾追加另一个序列 extend

    用法:list.extend(seq)

    >>> a=['hello']

    >>> b=['world']

    >>> a.extend(b)

    >>> a

    ['hello', 'world']

    注:可用分片赋值实现同等效果>>> a[len(a):]=b

    与连接符号 +的区别

    >>> a=['hello']

    >>> b=['world']

    >>> a+b

    ['hello', 'world']

    >>> a #extend已将a的值改变

    ['hello']

    3.查找第一个匹配的元素index

    用法:list.index(obj)

    >>> a=['hello', 'world']

    >>> a.index('hello')

    0

    4.插入 insert

    用法 list.insert(index,obj)

    >>> a=['hello', 'world']

    >>> a.insert(0,'goodmoring') #插在0的位置上

    >>> a

    ['goodmoring', 'hello', 'world']

    5.移除元素 pop (注:唯一一个技能修改元素又能返 回元素值的方法)

    用法:list.pop(obj=list[-1])

    >>> x=[1,2,3]

    >>> x.pop() #不加参数,删除最后一个值,并返回元素值

    3

    >>> print(x)

    [1, 2]

    >>> y=[1,2,3]

    >>> y.pop(1) #添加参数1,删除编号为1的元素值

    2

    >>> print(y)

    [1, 3]

    6.移除列表中第一个匹配项 remove

    用法:list.remove(obj)

    >>> x=[1,2,3,2]

    >>> x.remove(2)

    >>> print(x)

    [1, 3, 2] #只删除第一个匹配值2

    7.反向列表中的元素 reverse

    用法:list.reverse()

    >>> x=[1,2,3]

    >>> x.reverse()

    >>> print(x)

    [3, 2, 1] #顺序取反

    8.排序 sort

    用法:list.sort(func) func为可选参数

    >>> x=[4,7,2,5]

    >>> y=x[:] #此处与y=x的区别:y=x指向的是同一个列表,若不分片赋予,则x同样被排序

    >>> y.sort()

    >>> print(y)

    [2, 4, 5, 7]

    >>> print(x)

    [4, 7, 2, 5]

    同样的操作的方法可使用sorted

    用法:sorted(list)

    >>> x=[4,7,2,5]

    >>> y=sorted(x)

    >>> print(x)

    [4, 7, 2, 5]

    >>> print(y)

    [2, 4, 5, 7]

    sort可选参数有两个,即key和reverse

    >>> field=['study','python','is','happy']

    >>> field.sort(key=len) #按照长度进行排序

    >>> field

    ['is', 'study', 'happy', 'python']

    >>> field.sort(key=len,reverse=True) #按照长度进行反向排序

    >>> field

    ['python', 'study', 'happy', 'is']

    9.清空列表 clear

    用法:list.clear

    >>> field

    ['python', 'study', 'happy', 'is']

    >>> field.clear()

    >>> field

    []

    10.复制列表 copy ,类似于a[:]

    用法:list.copy

    >>> x=[1,2,3]

    >>> y=x.copy()

    >>> y

    [1, 2, 3]

    三、元组

    元组与列表类似,但是元组的元素不能修改

    1.创建元组:用逗号分隔一些值,则自动创建元组

    >>> 1,2,3

    (1, 2, 3)

    >>> 1,

    (1,) #逗号很重要,没有逗号是创建不了元组的

    >>> 1

    1

    使用tuple函数创建元组

    >>> x=[1,2,3]

    >>> tuple(x) #可以将列表改成元组

    (1, 2, 3)

    2.元组基本操作

    (1)访问元组

    >>> x=(1,2,3,4)

    >>> x[1]

    2

    >>> x[2:]

    (3, 4)

    (2)连接组合元组

    >>> x=(1,2,3,4)

    >>> y=(5,6)

    >>> x+y

    (1, 2, 3, 4, 5, 6)

    (3)删除元组

    >>> y=(5,6)

    >>> del y

    >>> y #此时元组已不存在

    Traceback (most recent call last):

    File "<stdin>", line 1, in <module>

    NameError: name 'y' is not defined

关键字