本文实例讲述了Python基本数据结构与用法。分享给大家供大家参考,具体如下:
Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。以下是Python中列表的方法:
在在在=(66.25,333、333、1、1234.5) 在在在print (a.count (333), a.count (66.25), a.count (“x”)) 2 1 0 在在在一个。插入(2,1) 在在在a.append (333) 在在在一个 (66.25,333,333,1234.5,333] 在在在a.index (333) 1 在在在a.remove (333) 在在在一个 1234.5 (66.25,333,,333) 在在在a.reverse () 在在在一个 (333,1234.5,333,66.25) 在在在类似() 在在在一个 (1、66.25、333、333、1234.5) >之前
<强>将列表当做堆栈使用强>
列表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用append()方法可以把一个元素添加到堆栈顶。用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来,例如:
在在在堆栈=(3、4、5) 在在在stack.append (6) 在在在stack.append (7) 在在在堆栈 (3、4、5、6、7) 在在在stack.pop () 7 在在在堆栈(3、4、5、6) 在在在stack.pop () 6 在在在stack.pop () 5 在在在堆栈 (3、4) >之前<强>将列表当作队列使用强>
也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。
在在在从集合进口双端队列 在在在队列=双端队列([“埃里克”,“约翰”,“迈克尔”)) 在在在queue.append(特里)#特里的到来 在在在queue.append (Graham) #格雷厄姆的到来 在在在queue.popleft() #第一个到达现在树叶 “埃里克。” 在在在queue.popleft() #第二到达现在树叶 “约翰。” 在在在队列#其他队列的顺序到达 双端队列([“迈克尔”,“特里”,'格雷厄姆']) >之前<>强列表推导式强>
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。
每个列表推导式都在为之后跟一个表达式,然后有零到多个或如果子句。返回结果是一个根据表达从其后的和如果上下文环境中生成出来的列表。如果希望表达式推导出一个元组,就必须使用括号。
这里我们将列表中每个数值乘三,获得一个新的列表:
在在在vec=(2、4、6) 在在在(3 * x x vec) (6、12、18) >之前现在我们玩一点小花样:
在在在[[x, x * * 2] x vec) [[2、4],[4、16],[6 36]] >之前这里我们对序列里每一个元素逐个调用某方法:
在在在freshfruit=[“香蕉”、“罗甘莓”、“百香果”) 在在在freshfruit] [weapon.strip()武器 (“香蕉”、“罗甘莓”、“百香果”) >之前我们可以用如果子句作为过滤器:
在在在(3 * vec如果x x x比;3] (12、18) 在在在[3 * vec如果x x x & lt;2] [] >之前以下是一些关于循环和其它技巧的演示:
在在在vec1=(2、4、6) 在在在vec2=[4、3、9] 在在在[x * y在vec1 x y vec2) (-18年8日,6日,16日,12日,-36年,24岁,18岁,-54年) 在在在[x + y在vec1 x y vec2) (6、5、7、8、7、5、10、9日3] 在在在[vec1[我]* vec2[我]我在范围(len (vec1))) (-54年8、12)Python基本数据结构与用法详解【列表,元组,集合,字典】