列表是我们在python中最常用的数据模型,他承担的重要的角色,也展现出了他强大的一面。
操作系统:window7 x64
编程IDE:Pycharm 2016.1.2
Python版本:3.6.1
编辑时间:2017年4月24日
版权所有:_ O E _ , 转载请注明出处:http://blog.csdn.net/csnd_ayo
英文原文
A built-in Python sequence. Despite its name it is more akin to an array in other languages than to a linked list since access to elements are O(1).
中文翻译
Python内置的序列,尽管它的名字与其它语言的数组如此类似,但它不是。它是列表的存储原理 O(1)。
声明列表
list = [1, 2, 3, 4, 5]
print(list)
[1, 2, 3, 4, 5]
海纳百川
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
print(list)
[1, 1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
访问
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
# 下标访问
print(list[0])
# 循环迭代器访问
for i in list):
print(i, end=", ")
1
1, 1.1, <class 'int'>, _OE_, ('oe', 1), [False, True],
总结
无数据类型的概念,可承载所有元素包括列表本身(整型,浮点型,对象,元祖等),可以通过下标进行访问。
in / not in 关键字
in 关键字
示例代码
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
print("_OE_ in list: ","_OE_" in list)
输出内容
_OE_ in list: True
not in 关键字
示例代码
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
print("oe in list: ","oe" in list)
print("oe in list[4]: ","oe" in list[4])
输出内容
oe in list: False
oe in list[4]: True
总结
in / not in 无法递归对比查询列表中子键(例如:列表或元祖 )
分片访问
示例代码
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
print("list[1:3]分片访问:",list[1:3])
print("list[:3]多元素分片访问:",list[:3])
print("list[1:]多元素分片访问:",list[1:])
print("list[:]多元素分片访问:",list[:])
输出内容
list[1:3]分片访问: [1.1, <class 'int'>]
list[:3]多元素分片访问: [1, 1.1, <class 'int'>]
list[1:]多元素分片访问: [1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
list[:]多元素分片访问: [1, 1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
总结
列表是链表
示例代码
list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
for i in range(len(list)):
print(list[i],": ", hex(id(list[i])))
输出内容
1 : 0x646556f0
1.1 : 0x7923c0
<class 'int'> : 0x64636338
_OE_ : 0x5b5520
('oe', 1) : 0x820aa8
[False, True] : 0x81e5f8
总结
列表是一块非连续的内存
in / not in 无法递归对比查询列表中子键(例如:列表或元祖 )
列表是一块非连续的内存
他是链表的存储方式
他可以用下标进行访问