Python数据类型:列表、阵列

来源:互联网 发布:qq堂mac版官方下载 编辑:程序博客网 时间:2024/05/20 13:18
</pre><pre name="code" class="python">color=['red','green','blue']print(color[0])color.append('orange') # red,green,blue,orangec=color.pop(1); # 索引为1的元素弹出,并将其赋值给cprint(c) # greenprint(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'] 合并并重新赋值给colorprint(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=0while (i<len(arr)):print ("Line %d, sum=%d" %(i , next(s))) i=i+1


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

#统计这个阵列的总数line_sum=list(map(sum,arr)) #将arr阵列每行统计数转换成一个列表赋值给line_sumprint(line_sum)# [15, 150, 1500]print(sum(line_sum)) #再将每行的统计数再汇总输出:1665



0 0
原创粉丝点击