python的基本数据结构之列表

Python的列表就像数组一样。

定义一个空列表:

a=[]
a=list()

生成列表可以用列表推导式来生成一个列表:

ls1=[1,2,3,4]
ls2=[x*x for x in lst1]# ls2=[1,4,9,16]

 

列表的一些方法:

定义一个列表ls

ls.append(x)

在列表尾部追加一个元素,等价于ls[len(ls):]=[x]

ls.extend(L)

用给入的列表将列表接长,等价于ls[len(ls):]=L

ls.insert(i,x)

在给定的位置i上插入项x,ls.insert(len(ls),x)等价 与ls.append(x)

ls.remove(x)

移除列表中第一个为x的项,若无符合的项,产生一个错误。

ls.pop([i])

删除列表给定位置的项,并返回它。ls.pop()返回的则是最后一项。

ls.index(x)

返回列表中第一个值为x的索引值,若没有符合的项,产生一个错误

ls.count(x)

返回列表中x出现的次数

ls.sort()

就地完成列表排序

ls.reverse()

就地完成列表的逆置



将列表当成栈来使用,组合使用append()与pop()方法。

ls.append(x)相当于进栈,ls.pop()相当于出栈。

那么,如何将列表当成队列来使用呢?

看一个例子(来自《The python tutorial》)

>>> from collections import deque
 >>> queue = deque(["Eric", "John", "Michael"])
 >>> queue.append("Terry") # Terry 进入
 >>> queue.append("Graham") # Graham 进入
 >>> queue.popleft() # 第一个进入的现在离开
 ‘Eric‘
 >>> queue.popleft() # 第二个进入的现在离开
 ‘John‘
 >>> queue # 剩余的队列 ,它按照进入的顺序排列
 deque([‘Michael‘, ‘Terry‘, ‘Graham‘])

  网上看了下其他人用自己的方法来实现栈与队列的模拟:

class Stack(object) :
02     def __init__(self) :
03         self.stack = []
04
05     def push(self, item) :
06         self.stack.append(item)
07
08     def pop(self) :
09         if self.stack != [] :
10             return self.stack.pop(-1)
11         else :
12             return None
13
14     def top(self) :
15         if self.stack != [] :
16             return self.stack[-1]
17         else :
18             return None
19
20     def length(self) :
21         return len(self.stack)
22
23     def isempty(self) :
24         return self.stack == []
25
26
27 class Queue(object) :
28     def __init__(self) :
29         self.queue = []
30
31     def enqueue(self, item) :
32         self.queue.append(item)
33
34     def dequeue(self) :
35         if self.queue != [] :
36             return self.queue.pop(0)
37         else :
38             return None
39
40     def head(self) :
41         if self.queue != [] :
42             return self.queue[0]
43         else :
44             return None
45
46     def tail(self) :
47         if self.queue != [] :
48             return self.queue[-1]
49         else :
50             return None
51
52     def length(self) :
53         return len(self.queue)
54
55     def isempty(self) :
56         return self.queue == []

原理是一样的,但是实现方法却会有很多个。

列表是可以嵌套的,这样就相当于多维数组了。

a=[

  [1,2],

  [2,3],

  [3,4]

 ]

到这吧。

时间: 2024-11-10 13:30:57

python的基本数据结构之列表的相关文章

Python学习—基础数据结构之列表

基本数据结构之列表 列表list是一种有序的集合,可以随时添加和删除其中的元素.与c.java中的数组有相似之处,但是c.java中的数组必须存放同一类型的元素,而在python的列表中,存放的元素可以是不同的类型.序列都可以进行的操作包括索引,切片,加,乘,检查成员. 1.列表的表示 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可. list1 = ['str','中文',123,'Python'] list2 = [2,3,5,78,999] list3 = [['str1'

Python基础【数据结构:列表 | 元组 | 集合 | 字典】

序列 序列是Python中最基本的数据结构.包括字符串,列表,元组,Unicode字符串,buffer对象,xrange对象.序列中的每个元素都分配一个数字,即它的索引第一个索引是0,第二个索引是1,依此类推. 列表和元组 列表一个方括号内的逗号分隔值列表中可以存放不同的数据类型. 例:[1,1.2,True,'str',[2,False]]元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 例:(1,1.2,True,'str',[2,False]) 列表和元组的

Python数据结构——散列表

散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的推广.如果空间允许,可以提供一个数组,为每个可能的关键字保留一个位置,就可以运用直接寻址技术. 当实际存储的关键字比可能的关键字总数较小时,采用散列表就比较直接寻址更为有效.在散列表中,不是直接把关键字用作数组下标,而是根据关键字计算出下标,这种 关键字与下标之间的映射就叫做散列函数. 1.散列函数

python数据结构之 列表和元组

python数据结构之 列表和元组 序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始).典型的序列包括列表.字符串和元组.其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的).序列中包含6种内建的序列,包括列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 列表的声明: mylist = [] 2.列表的操作: (1) 序列的分片: 用法:mylist[startIndex:endIndex:step] exam: myli

Python学习笔记(3)--数据结构之列表list

Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, 's', 'des',256]等 1.增加:append(value).extend(list2).insert(i, value) 2.删除:pop([i]).remove(value) 2.1  i可以是负值 2.2  i超出范围会报out of range错误 2.3  remove只会移除第

Python数据结构:列表、元组和字典

在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元组.元组通过圆括号中用逗号分割的项目定义. 元组最通常的用法是用在打印语句中 age = 22 name = 'Swaroop' print '%s is %d years old' % (name, age) print 'Why is %s playing with that python?'

Python数据结构之列表类型(list)

数据结构之列表类型(list) 列表说明 增加元素到列表 删除列表元素 更改列表元素 查看列表元素 列表脚本操作符 列表截取与拼接 嵌套列表 列表内置函数 一.列表说明 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片,加,乘,检查成员. Python已经内置确定序列的长度以及确定最大和最小的元素的方法 列表的数据项

Python基础系列----序列(列表、元组、字符串)

1.定义                                                                                               1.数据结构:通过某种方式组织在一起的数据元素的集合.这些数据元素可以说数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序列. 2.索引:序列中的每个元素被分配一个序号.注意索引默认从0开始. 在python中,内建了6中序列:列表.元组.字符串.unicode字符串.buf

python中的数据结构

1.列表 (1)   建立列表 list('python') ['p', 'y', 't', 'h', 'o', 'n'] (2)列表的常用方法: append   在列表末尾添加元素 >>>l=['a','b','c'] >>>l.append('d') >>>l ['a','b','c','d'] count   统计某个元素在列表中出现的次数 >>>['a','a','b','c'].count('a') 2 extend  扩