我正在尝试计算列表中元素的数量,包括列表列表中的元素。
以下是我的代码
my_list = [1,[2,3],[4,5,6]]
sum = 0
for x in my_list:
for i in mylist:
sum = sum+1
print(sum)
发布于 2019-05-09 03:14:51
在这里,go...you需要检查数据类型:
my_list = [1,[2,3],[4,5,6]]
sum = 0
for x in my_list:
if type(x) == list:
sum += len(x)
else:
sum += 1
print(sum)
发布于 2019-05-09 03:16:03
my_list = [1,[2,3],[4,5,6]]
print(sum(len(x) if isinstance(x, list) else 1 for x in my_list))
发布于 2019-05-09 03:17:41
最需要注意的是,您的my_list包含不同类型的值。例如,(list,int)。因此,您需要进行类型检查。
要处理嵌套列表,您需要创建一个递归函数。
使用python 3.6+的示例
def sum_mylist(my_list: list) -> int:
total = 0
for i in my_list:
if isinstance(i, list):
total += sum_mylist(i)
if isinstance(i, int):
total += i
return total
def main():
my_list = [1,[2,3,4], 5, [4,5,6], [1, [2,3,4]]]
total = sum_mylist(my_list)
print(total) // prints 40
main()
根据@ShadowRanger评论更新。
https://stackoverflow.com/questions/56047506
复制相似问题