Python的多维空数组赋值方法

yipeiwu_com6年前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 rstrip()方法实例详解

Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.rstrip([chars...

仅利用30行Python代码来展示X算法

假如你对数独解法感兴趣,你可能听说过精确覆盖问题。给定全集 X 和 X 的子集的集合 Y ,存在一个 Y 的子集 Y*,使得 Y* 构成 X 的一种分割。 这儿有个Python写的例子。...

解决django前后端分离csrf验证的问题

第一种方式ensure_csrf_cookie 这种方方式使用ensure_csrf_cookie 装饰器实现,且前端页面由浏览器发送视图请求,在视图中使用render渲染模板,响应给前...

Python整数对象实现原理详解

Python整数对象实现原理详解

整数对象在Python内部用PyIntObject结构体表示: typedef struct { PyObject_HEAD long ob_ival; } PyIntObject;...

python读写ini文件示例(python读写文件)

很类似java的properties文件xml文件复制代码 代码如下:db_config.ini[baseconf]host=127.0.0.1port=3306user=rootpas...