Chinaunix

标题: 关于获得list的长度的问题 [打印本页]

作者: alex_wing    时间: 2009-04-15 07:28
标题: 关于获得list的长度的问题
如果一个list是一个数组,比如a = ["a", "b"],可以使用len获得该数组的长度
但是如果一个list的内容是另外数组的引用,比如:a = ["a", "b"]  b = ["c", "d"] arr = [a, b],这时候如何获得arr的长度?
作者: 千年沉寂    时间: 2009-04-15 08:35
a = ["a","b"]
b = ["c","d"]
arr = [a,b]
print len(arr)
sum=0
for i in arr:
    sum += len(i)
print sum

深度搜索:
def sumitem(lst):
    sum=0
    for i in lst:
        if type(i)==list:
            sum+=sumitem(i)
        else:
            sum += 1
    return sum

a = ["a","b"]
b = ["c","d"]
c = [a,b]
arr = [a,b,c]
print sumitem(arr)


[ 本帖最后由 千年沉寂 于 2009-4-15 08:48 编辑 ]
作者: alex_wing    时间: 2009-04-15 21:59
谢谢

我一开始写for i in range(len(arr))写错了,写成了for i in len(arr),当时认为len就在里面的长度循环了,忘记应该加range了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2