Python:对列表使用循环

2024-03-29 06:46:50 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个清单:

list1=[[1,2,3,4],[5,6,7],[8,9,0,11]]
  1. 我要打印子列表的所有元素。如何使用循环编写代码?你知道吗
  2. 我知道如何求列表中一个子列表的和。 类似地,我想找到所有子列表的和,基本上是list1的和。你知道吗

我该怎么写代码呢?你知道吗

以下是我尝试的代码:

a=[[1,2,3], [1,5,4], [2,4,5]]
i = 0
sum = 0
b=a[1]
while ( i < len(b) ) :
 sum = sum + b[i]
 i = i + 1
print ( sum )

a=[[1,2,3], [1,5,4], [2,4,5]]
i = 0
sum = 0
c=a[2]
while ( i < len(c) ) :
 sum = sum + c[i]
 i = i + 1 
print ( sum )

a=[[1,2,3], [1,5,4], [2,4,5]]
i = 0
sum = 0
d=a[0]
while ( i < len(d) ) :
 sum = sum + d[i]
 i = i + 1
print ( sum )

输出:

10
11
6

我想找出给定数字的和。如何修改代码? 我在用Python3。要使用的循环:whilefor。你知道吗


Tags: 代码元素列表forlen数字python3sum
1条回答
网友
1楼 · 发布于 2024-03-29 06:46:50

一个问题是,您正在声明一个名为sum的变量,该变量用相同的名称重写Python构建的it函数。一旦这样做,sum()函数将在Python的实例中不可用。你知道吗

请记住,列表是可编辑的。所以要得到每个子列表:

list1=[[1,2,3,4],[5,6,7],[8,9,0,11]]

for sublist in list1:
    print(sublist)

[1, 2, 3, 4]
[5, 6, 7]
[8, 9, 0, 11]

您可以单独打印每个元素:

for sublist in list1:
    print(*sublist)

1 2 3 4
5 6 7
8 9 0 11

或在每个元素后打印换行符:

for sublist in list1:
    print(*sublist, sep='\n')

1
2
3
4
5
6
7
8
9
0
11

由于列表是可编辑的,因此可以使用内置函数sum()对其求和。 哪一个更容易阅读?你知道吗

my_sum = sum(sublist)

或者

my_sum = 0
for number in sublist:
    my_sum += number

您可以在循环外部声明的变量中跟踪每个子列表的和。你知道吗

sums = 0
for sublist in list1:
    sums += sum(sublist)
print(sums)

56

相关问题 更多 >