Python 获取本身是列表中元素的数组的长度
Python新手。我想这是一个非常基本的问题,但我还没有找到答案 我试图找到列表的长度,但是使用len(变量)总是返回1,而不是列表本身的大小。对于变量prz:Python 获取本身是列表中元素的数组的长度,python,arrays,Python,Arrays,Python新手。我想这是一个非常基本的问题,但我还没有找到答案 我试图找到列表的长度,但是使用len(变量)总是返回1,而不是列表本身的大小。对于变量prz: print type(prz) print prz print len(prz) 产出: <type 'list'> [array([2, 2, 1, 0, 0, 0, 2, 2, 0, 2])] 1 谢谢大家! 官方答案 prz是一个以numpy数组为成员的列表。通过索引
print type(prz)
print prz
print len(prz)
产出:
<type 'list'>
[array([2, 2, 1, 0, 0, 0, 2, 2, 0, 2])]
1
谢谢大家! 官方答案
prz是一个以numpy数组为成员的列表。通过索引prz获得数组,还可以通过第二级索引获得数组成员:
>>> import numpy as np
>>> nsim = 10
>>> prz = []
>>> prz.append(np.random.randint(0, 5, nsim))
>>> prz
[array([4, 4, 3, 3, 1, 4, 4, 1, 2, 0])]
>>> prz[0]
array([4, 4, 3, 3, 1, 4, 4, 1, 2, 0])
>>> prz[0][0]
4
正如我在一篇评论中提到的,您的列表包含一个元素,它恰好是一个
数组
对象(与列表
类似,但并不完全相同)。如果您知道列表中元素的索引,并且知道它具有长度(如数组
),则可以通过调用其上的内置len()
函数来查找其长度:
from array import array
prz = [array('i', [2, 2, 1, 0, 0, 0, 2, 2, 0, 2])]
print len(prz) # -> 1
print len(prz[0]) # -> 10
这也适用于numpy阵列。您是如何创建prz的?这是一个包含1项的列表。。。数组。请尝试
print prz[0]
了解我的意思。列表包含一个元素,一个数组对象(它包含自己的元素,与它恰好所在的列表不同)。是否有一种方法可以用来访问对象中的数组?是的,prz[0]
就是数组。如果您想要数组中的第3项,它将是prz[0][2]
(从零开始计数…)
from array import array
prz = [array('i', [2, 2, 1, 0, 0, 0, 2, 2, 0, 2])]
print len(prz) # -> 1
print len(prz[0]) # -> 10