二.列表

列表是什么

列表是有一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系

在Python中用方括号表示列表([]),并使用逗号分割其中的元素。

  1. 列表
>>> lists = ['1', '2', '3']
>>> print(lists)
['1', '2', '3']
  • 访问列表元素
    列表是有序集合,因此要访问列表的任何元素,只需要将该元素的位置或索引告诉python即可。
    例:

>>> test = ['a', 'b', 'c', 'd']
>>> print(test)
['a', 'b', 'c', 'd']

若只想显示某一个元素,可以使用索引显示某一个元素,还可以结合字符串的各种改变方法

>>> print(test[0].title())
A
  • 索引从0而不是1开始
    在python中第一个列表元素的索引为0,而不是1.在大多数编程语言都是如此,这与列表操作的底层实现相关。如果结果出乎意料看看是不是没有从0开始。
>>> print(test)
['a', 'b', 'c', 'd']
>>> print(test[1])
b

Python为最后一个列表元素提供了一种特殊语法。通过将索引指为-1就是倒数第一个元素,-2就是倒数第二个,以此类推。

>>> print(test[-1])
d
  • 使用列表中的各个值
    可像使用其他变量一样使用列表的各个值。
>>> print("英文字母第四个为" + test[-1].title() + "。")
英文字母第四个为D。
  • 修改、添加和删除元素
  • 修改
    修改列表元素的语法与访问列表元素的语法类似。要需改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
>>> print(test)
['a', 'b', 'c', 'd']
>>> test[0] = "A"
>>> print(test)
['A', 'b', 'c', 'd']
  • 在列表末尾添加元素

    在列表的末尾添加新元素-使用方法:列表名.append(‘元素名’)
    在列表中添加新元素时,最简单的方式是将元素附加到列表的末尾。给列表附加元素时,他将添加到列表的末尾。

>>> print(test)
['A', 'b', 'c', 'd']
>>> test.append("e")
>>> print(test)
['A', 'b', 'c', 'd', 'e']
  • 在列表中添加元素
    在列表中添加元素使用方法:列表名.insert(索引值,‘元素名’)
>>> print(test)
['A', 'b', 'c', 'd', 'e']
>>> test.insert(0, "a")
>>> print(test)
['a', 'A', 'b', 'c', 'd', 'e']
  • 从列表中删除元素

1.使用del语句删除元素
如果知道要删除元素在列表中的位置,可以使用del语句。

>>> print(test)
['a', 'A', 'b', 'c', 'd', 'e']
>>> del test[1]
>>> print(test)
['a', 'b', 'c', 'd', 'e']

2.使用方法pop()删除元素
方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
使用方法:列表名.pop()


>>> print(test)
['a', 'b', 'c', 'd', 'e']
>>> poped_test = test.pop()
>>> print(poped_test)
d
>>> print(test)
['a', 'b', 'c']

首先打印了列表test,接下来,从这个列表中弹出了最后一个值,并将其储存到变量poped_test中,然后打印弹出的值。最后打印这个列表,核实是否从其中删除了最后一个值,以证明我们依然能够访问被删除的值。

3.弹出列表中任何位置的元素
实际上可以使用pop()来删除列表中任何位置的元素,只需要在括号中指定要删除的元素索引即可。


>>> print(test)
['a', 'b', 'c']
>>> poped_test1 = test.pop(1)
>>> print(poped_test1)
b
>>> print(test)
['a', 'c']

注意:,每当使用pop()时,被弹出的元素就不在列表中了。
如果不确定该使用pop()方法还是del语句,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,可以使用del语句,如果你要再删除元素后还能够继续使用,就使用pop()方法。

4.根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可以使用方法:remove()。


>>> print(test)
['a', 'c']
>>> test.remove("a")
>>> print(test)
['c']

注意:方法remove()只删除第一个指定的值。如果要删除的值在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

  • 组织列表
    在创建列表中,元素的排序往往是无法预测的,因为你并非总能控制用户提供的数据的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信息。Python提供了很多组织列表的方式,可以个根据情况选用。

1.使用方法sort()对列表进项永久性排序
默认sort()方法排序方式是按字母顺序排列的


>>> print(test)
['g', 'f', 'a', 'v', 'd', 'b']
>>> test.sort()
>>> print(test)
['a', 'b', 'd', 'f', 'g', 'v']

还可以按字母相反的顺序排列列表元素,只需要向sort()方法传递参数reverse=True。同样修改是永久性的。

>>> print(test)
['a', 'b', 'd', 'f', 'g', 'v']
>>> test.sort(reverse=True)
>>> print(test)
['v', 'g', 'f', 'd', 'b', 'a']

2.使用函数sorted()对列表进行临时排序
要保留列表原来的排列顺序,同时以特定的顺序呈现它们,它使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

>>> print(test)
['b', 'a', 'c', 'e', 'z']
>>> print(sorted(test))
['a', 'b', 'c', 'e', 'z']
>>> print(test)
['b', 'a', 'c', 'e', 'z']

注意:调用函数sorted()后,列表元素的排列顺序并没有改变。如果你要按字母顺序相反的顺序显示列表,也可以向函数sorted()传递参数reverse=True。
在并非所有字母都是小写时,按字母排列列表要复杂些。

3.倒着打印列表-方法reverse()
要反转列表元素的排列顺序,可以使用方法reverse()。


>>> print(test)
['b', 'a', 'c', 'e', 'z']
>>> test.reverse()
>>> print(test)
['z', 'e', 'c', 'a', 'b']

方法reverse()不是指按与字母顺序相反的顺序排列列表元素,而是反转列表元素的排列顺序。方法reverse()永久性的修改列表元素的排列顺序,但可以随时恢复到原来的排列顺序,再次对列表调用reverse()方法即可。

4.确定列表的长度
使用函数len()可以快速的获悉列表的长度。


>>> print(test)
['z', 'e', 'c', 'a', 'b']
>>> len(test)
5

注意:Python计算列表元素时从1开始,因此确定列表长度时,要注意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值