python学习笔记——列表(上)

列表

列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。

Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。

从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。

对于这个列表 alist = [1, “a”, [11,22], {“k1”:”v1”}],其在内存内的存储方式是这样的:

 

 

创建方式

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

list = []       # 定义空列表
list1 = ['physics', 1997, 2000]
list2 = [1, 2, 3]
list3 = ["a", "b", "c"]

访问列表内的元素

列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一 。要访问它的某个元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的 索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是len(list)-1。

>>> lis = ["a", "b", "c"]
>>> lis[0]
'a'
>>> lis[1]
'b'
>>> lis[2]
'c'
>>> lis[3]
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    lis[3]
IndexError: list index out of range

修改元素的值

直接对元素进行重新赋值。

>>> lis[0]
'a'
>>> lis[0] = "d"
>>> lis[0]
'd'

删除元素

使用del语句或者remove(),pop()方法删除指定的元素。

>>> lis = ["a", "b", "c"]
>>> del lis[0]      # 根据索引删除
>>> lis
['b', 'c']
>>> lis.remove("b") # 直接根据值进行删除
>>> lis
['c']
>>> lis.pop()       # 弹出最后一个
'c'
>>> lis
[]

列表的特殊操作

语句                          结果                              描述
[1, 2, 3] + [4, 5, 6]          [1, 2, 3, 4, 5, 6]               组合两个列表
['Hi!'] * 4                   ['Hi!', 'Hi!', 'Hi!', 'Hi!']       列表的乘法
3 in [1, 2, 3]                 True                            判断元素是否存在于列表中
for x in [1, 2, 3]: print x,    1 2 3                           迭代列表中的每个元素

列表的常用函数

函数        作用
len(list)   返回列表元素个数,也就是获取列表长度
max(list)   返回列表元素最大值
min(list)   返回列表元素最小值
list(seq)   将序列转换为列表

>>> s = list((1, "a", "b", 2))
>>> s
[1, 'a', 'b', 2]
>>> max(s)          # 不能混合不同类型进行最大最小求值
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    max(s)
TypeError: '>' not supported between instances of 'str' and 'int'

排序和反转

list.reverse()  将列表反转
list.sort()     排序,默认升序 
如果列表内的元素全为数字,或者字母排序没有问题。
如果字母和数字都有的情况下,排序会报错
list.sort(reverse=True)     降序排列

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值