您的位置:首页 > 编程语言 > Python开发

Python数据类型:列表、阵列

2015-12-16 17:38 821 查看
</pre><pre name="code" class="python">color=['red','green','blue']
print(color[0])
color.append('orange') # red,green,blue,orange
c=color.pop(1); # 索引为1的元素弹出,并将其赋值给c
print(c) # green
print(color)
color.append(['white','black']) # 添加一项类型为列表的元素['white','black']
print(color)  # ['red', 'blue', 'orange', ['white', 'black']]
del color[3] # 将其删除
print(color) #['red', 'blue', 'orange']
color=color+['white','black'] # color列表与['white','black'] 合并并重新赋值给color
print(color) #['red', 'blue', 'orange', 'white', 'black']


请注意上面的color.append(['white','black'])和color=color+['white','black']的区别

动态生成列表:

a=[x for x in range(1,11,1)]
print(a) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


列表的复制 :

newcopy=data[:]

列表中套列表即可形成阵列(听起来是不是很牛X?),比如下面, r就是阵列:

</pre><pre name="code" class="python">r1=[1,2,3,4,5]
r2=[10,20,30,40,50]
r3=[100,200,300,400,500]
arr=[r1,r2,r3]
for row in arr:
print(row)


下面演示一些阵列的操作,比如列提取,行统计

m=[[1,2,3],[2,3,50],[33,20,30]]
n=[row[1]for row in m if row[2]>10]
print(n)

r1=[  1,  2,  3,  4,  5]
r2=[ 10, 20, 30, 40, 50]
r3=[100,200,300,400,500]
arr=[r1,r2,r3]
for row in arr:
print(row)

#阵列操作
c1=[row[0] for row in arr] #将arr阵列的每行的第1个单元取出,并组成列表后赋值给c1 ,c1是列表类型
print(c1) #[1, 10, 100]
c11=[row[0]+50 for row in arr] #将arr阵列的每行的第1个单元取出后分别加50后的值组成列表后赋给c11 ,c11是列表类型
print(c11)

c2=[row[1] for row in arr if row[1]>=20] #添加条件的取值: 每行第2个元素>=20才考虑
print (c2) # [20, 200]
#统计阵列中每行的总数
s=(sum(row) for row in arr) #创建一个逐行统计的生成器
i=0
while (i<len(arr)):
print ("Line %d, sum=%d" %(i , next(s)))
i=i+1


统计阵列的总数,一个语句就搞定,叫我们写java/c的人情何以堪:

#统计这个阵列的总数
line_sum=list(map(sum,arr)) #将arr阵列每行统计数转换成一个列表赋值给line_sum
print(line_sum)# [15, 150, 1500]
print(sum(line_sum)) #再将每行的统计数再汇总输出:1665
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: