python定义一个二维list,python一维数据和二维数据的区别
如何在python中创建二维列表
Python中创建二维列表/数组,即创建一个list,并且这个list的元素还是list。可以用列表解析的方法实现。
创建例子如下:
2d_list?=?[[0?for?col?in?range(cols)]?for?row?in?range(rows)]
其中cols, rows变量替换为你需要的数值即可,例如:
2d_list?=?[[0?for?col?in?range(9)]?for?row?in?range(9)]
#?9*9的二维列表
python的数组让我很疑惑,在python中请教如何定义二维数组a[][3],在a[][1]存储第一个参数.....
直接用存在list里就可以了吧。
a=[]
...
a.appen(data)
二位数组在python其实也是list,比如s = ['python', 'java', ['asp', 'php'], 'scheme'],s[2]是一个list,你也可以把这个看成是二维数组吧。
可我想要二维数组用来存储3个不同的参数,这样具体怎么实现呢
直接用list方式实现就可以了啊...
a=[]
a.appen(data)
python的二维list问题
list 的 乘法是将里面的对象复制了一遍,并没有创建新的对象(object)。比方说
b = [1, 2, 3]
b 是一个 list 对象,如果
a = [b]*3
那么a就是一个包含三个 b 的列表,这个列表中的每一个对象都是b,所以你修改任意一个对象,实际都是在修改 b本身。用 id() 可以查看对象id,你可以发现a中的每一个元素都是同一个id
?b?=?[0,?0,?0]
?id(b)
47599855534232
?a?=?[b]*3
?a
[[0,?0,?0],?[0,?0,?0],?[0,?0,?0]]
?id(a)
47599860614424
?id(a[0])
47599855534232
?id(a[1])
47599855534232
?id(a[2])
47599855534232
?id(a[2])?==?id(b)
True
如果你想a中每一个元素都是不同的对象,可以用下面的代码:
a?=?[[0]*3?for?i?in?range(3)]
python怎么初始化二维数组
你可以定义一个嵌套的list
表示一个二维数组,并初始化为这样:
1
2
score = [[0]*3, [0]*3,[0]*3]
print score
这样在循环外就能方便的访问每个元素了。
用python设计函数 输入一个2维列表 用该函数计算每一列的和并返回一个列表
#!/usr/bin/python
#?-*-?coding:utf-8?-*-
#?@Time????:?2018/6/10?15:00
#?@File????:?Sum_List.py
"""
输入一个2维列表?用该函数计算每一列的和并返回一个列表
"""
def?sum_each_colum(olist):
????"""
????计算多维数字数组每列的和,并作为一个列表的元素,最后返回这个列表
????:param?olist:
????:return:slist
????"""
????slist?=?[]
????if?isinstance(olist,?list):
????????slen?=?len(olist[0])
????????for?i?in?range(slen):
????????????s?=?0.0
????????????for?temp?in?olist:
????????????????if?isinstance(temp[i],?(int,?float)):
????????????????????s?+=?temp[i]
????????????????else:
????????????????????return?u'不是数字,无法求和'
????????????else:
????????????????slist.append(s)
????????else:
????????????return?slist
????else:
????????return?u'输入与要求不符'
if?__name__?==?'__main__':
????alist?=?eval(raw_input(u'请输入一个多维数字的列表[[1,2],[3,4]]:'))
????print?sum_each_colum(alist)