程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

模块(0)

标准库(0)

标签  

标准库模块(0)

字符串(0)

日期归档  

Python列表

发布于2019-08-07 10:25     阅读(993)     评论(0)     点赞(3)     收藏(1)


Python列表对象的方法
list.append(n)
把一个元素添加到列表的末尾,相当于list[len(list):]=n
list.extend(L)
把另一个列表的所有元素添加到列表的末尾,相当于list[len(list):]=L
list.insert(i,x)
在列表的指定位置插入元素x,第一个参数是插入位置的索引,
当i=len(list)时相当于list.append(x)
list.remove(x)
删除表中值为x的第一个元素,如果没有这样的元素,则返回错误
list.pop(i)
从列表的指定位置删除元素,若没有指定索引,则删除最后一个元素。返回被删除的元素
list.clear()
删除列表中的所有元素,相当于del list[:]
list.index(x)
返回列表中第一个值为x的元素的索引,如果没有匹配的元素就会返回错误
list.count(x)
返回x在列表中出现的次数
list.sort()
对列表中的元素进行排序
list.reverse()
倒序排列列表中的元素
list.copy()
返回列表的一个浅拷贝,相当于list[:]
列表方法演示

a=[66.25,333,333,1,1234.5]
print(a)
a.append(6)
print(a)
L=[45,33,2]
a.extend(L)
print(a)
a.insert(2,11)
print(a)
a.remove(33)
print(a)
a.pop()
print(a)
print(a.index(1234.5))
print(a.count(66.25),a.count(333),a.count('a'))
a.sort()
print(a)
a.reverse()
print(a)
a.clear()
print(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述
像 insert , remove 或者 sort 这些修改列表的方法没有打印返回值–它们返回 None 。 在 python 中对所有可变的数据类型这是统一的设计原则
列表当做堆栈使用
列表方法使得列表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来

stack=[3,4,5]
stack.append(6)
stack.append(7)
print(stack)
stack.pop()
print(stack)
stack.append(8)
print(stack)
stack.pop()
stack.pop()
print(stack)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
把列表当做队列使用
队列是先进先出的数据结构,要实现队列要使用collection.deque,它为在首尾两端快速插入和删除而设计

from collections import deque
list = deque(['John','Jack','Tom'])
list.append('Mary')
print(list)
list.popleft()
print(list)
list.popleft()
print(list)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
列表推导式
列表推导式为序列创建列表提供了便利。普通的应用程式通过将一些操作应用于序列的每个成员并通过返回的元素创建列表,或者通过满足特定条件的元素创建子序列

squares = []
for x in range(1,10)
	squares.append(x**2)
print(squares)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
上面的程序可等价于

squares = [x**2 for x in range(1,10)]
  • 1

列表推导式由包含一个表达式的括号组成,表达式后面跟随一个 for 子句,之后可以有零或多个 for 或 if 子句。结果是一个列表,由表达式依据其后面的 for 和 if 子句上下文计算而来的结果构成

squares = [(x,y) for x in [1,2,4,5] for y in [2,3,4,6] if x!=y]
  • 1

在这里插入图片描述
Tips:列表推导式中要得到元组必须加上括号

列表推导式可使用复杂的表达式和嵌套函数

from math import pi 
str = [round(pi,i) for i in range(6)]
print(str)
  • 1
  • 2
  • 3

在这里插入图片描述
嵌套的列表推导式
列表解析中的第一个表达式可以是任何表达式,包括列表解析
交换行列

matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
print(matrix)
matrix = [[row[i] for row in matrix] for i in range(4)]
print(matrix)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
嵌套的列表推导式是对 for 后面的内容进行求值,上例相当于

matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
print(matrix)
matrix1 = []
for i in range(4):
	matrix1.append([row[i] for row in matrix])
print(matrix1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

del语句
del语句可以从列表中按给定的索引而不是值来删除一个子项。它不同于有返回值的 pop() 方法。语句 del 还可以从列表中删除切片或清空整个列表

a = [-1,1,66,333,333,1024.8]
del a[0]
print(a)
del a[2:4]
print(a)
del a[:]
print(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:追梦骚年

链接:https://www.pythonheidong.com/blog/article/9810/5af79786ad1038d574ba/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)