Python学习笔记(4)列表

2019-02-26

列表(list):
①创建方法:用‘[ ]’,将数据包括起来,数据之间用逗号隔开。
②空列表:empty = []
③增删改查:
  1)增加:
    a.append()方法——将元素添加到列表的末尾。

  测试代码:

list = ["My","Name","Is"]
list.append("PegasusK")

  运行结果:

['My', 'Name', 'Is', 'PegasusK']

    b.Insert(A,B)方法——A表示你想把元素添加在什么位置,B表示你想插入的元素。

  测试代码:

list = ["My","Name","Is"]
list.insert(1,"good")

  运行结果:

['My', 'good', 'Name', 'Is']

    c.extend(L)方法——使用一个列表扩展另一个列表,所以参数L应该是一个列表,使用这个方法是向列表末尾添加多个元素。

  测试代码:

list = ["My","Name","Is"]
list.extend(["哎嘿嘿","偶呵呵"])

  运行结果:

['My', 'Name', 'Is', '哎嘿嘿', '偶呵呵']

  2)删除:
    a.remove()——不需要知道该元素在列表中的位置,只需要知道要删除的元素在列表中就可以了。

  测试代码:

list = ["My","Name","Is"]
list.remove("Name")

  运行结果:

['My', 'Is']

    b.del——能够删除列表中指定位置的元素(del是一个语句,并不是一个方法,所以不用加‘()’)。此方式也能够删除整个列表(del 列表名)。

  测试代码:

list = ["My","Name","Is"]
del list[0]

  运行结果:

[‘Name’, ‘Is’]

    c.pop()——“弹出”元素,该方法默认弹出列表中的最后一个元素,可以添加一个索引值作为参数,会弹出这个索引值对应的元素。

  测试代码:

list = ["My","Name","Is"]
list.pop(2)

  运行结果:

['My', 'Name']

  3)更改:

  测试代码:

list = [1,4,2,5]
list[2] = 1500
print(list)

  运行结果:

[1, 4, 1500, 5]

  4)查找:
    a.count()——计算它的参数在列表中出现的次数。

  测试代码:

list = [12,132,254,365,12,12,254]
num = list.count(12)
print(num)

  运行结果:

3

    b.Index()——返回它的参数在列表中的位置。

  测试代码:

list = [12,132,254,365,12,12,254]
num = list.index(132)
print(num)

  运行结果:

1

    c.In,not in——判断一个层次的成员关系,如果列表里面还有列表,通过索引值用和二维数组类似的方式访问列表里面的列表。

  测试代码:

list = [12,132,254,365,12,12,254]
print(12 in list)
print(12 not in list)

  运行结果:

True
False

④列表分片(slice):
  1)格式:Lsit[1 :3]——左边索引值是开始位置,右边索引值是结束位置(结束位置上的元素是不包含的)。

  测试代码:

list = ["age","name","school","sd"]
list2 = list[1:3]
print(list2)

  运行结果:

[‘name’, ‘school’]

  2)注意:
    a.利用列表分片,得到原来一个列表的拷贝,而原来的列表并没有发生改变。
    b.没有开始位置,Python会默认开始位置是0,如果从指定位置到列表末尾,则可以省去结束位置。
    c.分片也可以接收第三个参数,其表示步长,默认情况下为1,如果步长设置为-1,则列表反转。

  测试代码:

list = ["age","name","school","sd"]
list2 = list[::2]
list3 = list[::-1]
print(list2)
print(list3)

  运行结果:

[‘age’, ‘school’]
[‘sd’, ‘school’, ‘name’, ‘age’]

⑤其他:
  1)列表的比较:当列表中存在较多个元素时,默认从第一个元素开始比较,第一个元素大,就算整个列表大。(字符串同样的道理,只不过字符串比较的是第一个字符对应的ASCII码值的大小。)

  测试代码:

list = ["age","name"]
list2 = ["school","work"]
print(list > list2)
print(list < list2)

  运行结果:

False
True

  2)乘号(*)也叫重复操作符,它也可以应用在列表中,相当于拷贝列表元素,多次写入列表中。

  测试代码:

list = ["age","name"]
print(list * 3)

  运行结果:

[‘age’, ‘name’, ‘age’, ‘name’, ‘age’, ‘name’]

  3)reverse()——列表原地翻转。

  测试代码:

list = ["age","name","school","sd"]
list.reverse()
print(list)

  运行结果:

[‘sd’, ‘school’, ‘name’, ‘age’]

  4)sort()——指定的方式对列表的成员进行排序,默认不需要参数,从小到大排序。(sort()方法其实有三个参数,形式为sort(func,key,reverse),func默认使用归并排序的排序算法,key为关键字。)
  sort(reversr = False)表示不颠倒顺序,把False改为True,列表就相当于从大 到小排序。

  测试代码:

list = [5,7,3,9,1234]
list.sort()
print(list)
list.sort(reverse=True)
print(list)

  运行结果:

[3, 5, 7, 9, 1234]
[1234, 9, 7, 5, 3]

⑥注意:
  为一个列表指定另一个名字的做法,相当于给同一个列表加上不同的标签,真正的拷贝要使用分片的方法。

  测试代码:

list = [1,4,2,5]
list2 = list[:] list3 = list list.sort() print(list) print(list2) print(list3)

  运行结果:

[1, 2, 4, 5]
[1, 4, 2, 5]
[1, 2, 4, 5]

点赞