繁体   English   中英

如何在列表中打印特定范围的数字? Python

[英]How do I print a specific range of numbers in a list? Python

我看过这里提出的类似问题,但我似乎无法弄清楚。 我刚刚开始学习 Python 作为我的第一门编程语言之一,这是我需要弄清楚如何做才能继续我的课程中的任务。

data = [90, 30, 13, 67, 85, 87, 50, 45, 51, 72, 64, 69, 59, 17, 22, 23, 44, 25, 16, 67, 85, 87, 50, 45, 51, 72, 59, 14, 50, 55, 32, 23, 24, 25, 37, 28, 39, 30, 33, 35, 40, 34, 41, 43, 94, 95, 98, 99, 44, 45, 47, 48, 49, 53, 61, 63, 69, 75, 77, 60, 83]

这是我的数据列表,我需要打印列表中 10 到 20 之间的条目数量(有四个)

我似乎能做的就是用这个print(data[10:20])列表中的第 10 到 20 个条目,但这不是我需要提取的信息。

也许是这样的:

print(len([num for num in data if num <= 20 and num >= 10]))

您将使用列表理解来创建一个列表,其中包含 10 到 20(包括 10 和 20)之间的所有数据列表数字。

然后你取那个列表的长度并打印出来。

这将创建 10 到 20 之间的所有数字的列表:

 my_list_of_numbers = [num for num in data if num <= 20 and num >= 10]

编辑:如果您真的想对 10 到 20 之间的所有数字求和,您可以执行以下操作:

print(sum([num for num in data if num <= 20 and num >= 10]))

您可以在此处使用sum

sum(1 for num in data if 10<=num<=20)
# 4

你可以这样做

sum(10 <= num <= 20 for num in data) @Austin's suggested this in the comments

您可以使用list comprehension

data=[90,30,13,67,85,87,50,45,51,72,64,69,59,17,22,23,44,25,16,67,85,87,50,45,51,72,59,14,50,55,32,23,24,25,37,28,39,30,33,35,40,34,41,43,94,95,98,99,44,45,47,48,49,53,61,63,69,75,77,60,83]
L = [x for x in data if 10 <= x <= 20]
print(L)
# [13, 17, 16, 14]
print(len(L))
# 4

所以你想要的数据量:

data = [90,30,13,67,85,87,50,45,51,72,64,69,59,17,22,23,44,25,16,67,85,87,50,45,51,72,59,14,50,55,32,23,24,25,37,28,39,30,33,35,40,34,41,43,94,95,98,99,44,45,47,48,49,53,61,63,69,75,77,60,83]

datanew = (10 < x < 20 for x in data)

# print the amount of data
print(sum(datanew))

输出:

4
data = [90, 30, 13, 67, 85, 87, 50, 45, 51, 72, 64, 69, 59, 17, 22, 23, 44, 25, 16, 67, 85, 87, 50, 45, 51, 72, 59, 14, 50, 55, 32, 23, 24, 25, 37, 28, 39, 30, 33, 35, 40, 34, 41, 43, 94, 95, 98, 99, 44, 45, 47, 48, 49, 53, 61, 63, 69, 75, 77, 60, 83]

amount = 0

for x in range(9, 19):
    amount = amount + data[x]

print(amount)

也许这个答案可以解决你的问题

带有 if 语句的简单 for 循环将起作用。

data=[90,30,13,67,85,87,50,45,51,72,64,69,59,17,22,23,44,25,16,67,85,87,50,45,51,72,59,14,50,55,32,23,24,25,37,28,39,30,33,35,40,34,41,43,94,95,98,99,44,45,47,48,49,53,61,63,69,75,77,60,83]
count = 0
for number in data:
    if number <= 20 and number >= 10:
        count += 1
print(count)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM