编写一个名为count_numbers
的函数,该函数接收包含数字的列表并返回列表中的数字计数。您的程序必须适应在输入参数中包含数字列表作为元素的可能性。您可以假定输入参数最多为二维列表。
当文件运行时,输出为:
>>> print("Count of numbers", count_numbers([4,6,[1,2],10,[-1,-3]]))
Count of numbers:7
我的回答是5而不是7。 这是我的工作:
def count_numbers(numbers):
result = []
for element in numbers:
for subelement in [element]:
result += [subelement]
results = len(result)
return results
答案 0 :(得分:1)
如果要手动执行此操作,则需要测试每个type
的{{1}},以检查是否要处理element
或{{1 }},如果是int
,则必须创建更深的list
。在list
元素之后,您需要将其loop
列出来进行检查,以免再次计数该元素。
count
您可以拼合列表,也可以使用append
lst = [4,6,[1,2],10,[-1,-3]]
count = 0
seen = []
for i in lst:
if isinstance(i, list):
for j in i:
if j not in seen:
count += 1
seen.append(j)
else:
pass
else:
if i not in seen:
count += 1
seen.append(i)
else:
pass
print(count)
答案 1 :(得分:-1)
不太确定您要做什么,但是我想这应该可行:
for elem in line:
if type(elem) == int:
result += 1
elif type(elem) == list:
for sub in elem:
if type(sub) == int:
result += 1
请记住,这段代码确实很难看;),但它应该可以帮助您入门