我试图在没有最后一个逗号的情况下返回数字数组。 ex)
[['0,0,0,0,0'], ['1,1,1,1'], ['2,2,2'], ['3,3'], ['4']]
我一直回复
[['0,0,0,0,0,'], ['1,1,1,1,'], ['2,2,2,'], ['3,3,'], ['4,']]
定义如下:
def array(i):
arraylist = []
for num in range(0, i):
arraylist.append([])
if num is 0:
print (str(0) + " ") * i
arraylist[num].append((str(0)) * (i-(num)))
else:
print (str(num) + " ") * (i - (num))
arraylist[num].append((str(num)+",") * (i-(num)))
return arraylist
另外,如果你可以帮我拿出返回数组中的引号。
答案 0 :(得分:1)
如果通过删除尾随逗号和引文来表示您想要返回一个数字列表列表,那么这就是您的函数需要做的事情:
def array(i):
arraylist = []
for num in range(0, i):
arraylist.append((i - num) * [num])
return arraylist
来自我的shell:
>>> print array(5)
[[0, 0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2], [3, 3], [4]]
如果你想要的是你以前拥有的但是没有尾随彗差,即内部列表中有一个数组的列表列表,只需在构建它之后从每个字符串中删除最后一个字符:
def array(i):
arraylist = []
for num in range(0, i):
arraylist.append([])
if num is 0:
arraylist[num].append((str(0) + ',') * (i-(num)))
else:
arraylist[num].append((str(num)+",") * (i-(num)))
arraylist[num][0] = arraylist[num][0][:-1]
return arraylist
来自我的shell:
>>> print array(5)
[['0, 0, 0, 0, 0'], ['1, 1, 1, 1'], ['2, 2, 2'], ['3, 3'], ['4']]
答案 1 :(得分:0)
这有效:
>>> def array(i):
... l = []
... for num in xrange(i):
... l.append([num] * (i - num))
... return l
然后:
>>> array(5)
[[0, 0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2], [3, 3], [4]]