计数列表中的字符

时间:2018-10-14 18:24:50

标签: python python-3.x

编写一个名为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

2 个答案:

答案 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

请记住,这段代码确实很难看;),但它应该可以帮助您入门