Python的多维空数组赋值方法

yipeiwu_com5年前Python基础

Python里面的list、tuple默认都是一维的。

创建二维数组或者多维数组也是比较简单。

可以这样:

list1 = [1,2,] 
list1.append([3,4,]) 

可以这样:

list2 = [1,2,[3,4,],] 

还可以这样:

list3 = [1,2] 
list3.insert(2, [3,4]) 

比较特殊的情况是:

list0 = [] 
list0.append([]) 

然后想给二维数组list0的第一个元素赋值。直接写list0[0][0]是会被编译器报错的。

那怎么办?list0[0]是可以的,所以就简单了。

list0[0].append(100) 
print list0[0][0] #这次没问题了。 

想法来源自一个小兄弟问我的一道面试题(改错题)。打印N阶杨辉三角形。当然不能双循环里面挨个算组合数。

简单的解法如下:

N = 10 #以10阶为例演示 
YHTriangle = [] 
for i in range(N): # 行 
 YHTriangle.append([]) 
 if i == 0: 
  YHTriangle[i].append(1) #第一行只有 1 
 else: 
  YHTriangle[i].append(1) #最左元素永远为 1 
  YHTriangle[i].append(1) #最右元素永远为 1 
  for j in range(1,i): #中间元素 
   if i <> 0 and i <> 1: 
    YHTriangle[i].insert(j,YHTriangle[i-1][j-1] + YHTriangle[i-1][j]) 
for i in range(N): 
 print YHTriangle[i] 

以上这篇Python的多维空数组赋值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

深入浅析Python中的迭代器

深入浅析Python中的迭代器

目录结构: contents structure [-] 在开始文章之前,先贴上一张Iterable、Iterator与Generator之间的关系图:   1. Itera...

使用Python的Dataframe取两列时间值相差一年的所有行方法

在使用Python处理数据时,经常需要对数据筛选。 这是在对时间筛选时,判断两列时间是否相差一年,如果是,则返回符合条件的所有列。 data原始数据: data[map(lambda...

python使用Image处理图片常用技巧分析

本文实例讲述了python使用Image处理图片常用技巧。分享给大家供大家参考。具体分析如下: 使用python来处理图片是非常方便的,下面提供一小段python处理图片的代码,需要安装...

Python何时应该使用Lambda函数

Python 中定义函数有两种方法,一种是用常规方式 def 定义,函数要指定名字,第二种是用 lambda 定义,不需要指定名字,称为 Lambda 函数。 Lambda 函数又称匿名...

Python中分数的相关使用教程

你可能不需要经常处理分数,但当你需要时,Python的Fraction类会给你很大的帮助。在该指南中,我将提供一些有趣的实例,用于展示如何处理分数,突出显示一些很酷的功能。 1 基础 F...