Python 创建引用特定范围的嵌套列表

Python 创建引用特定范围的嵌套列表,python,algorithm,list,range,Python,Algorithm,List,Range,我的一个朋友向我提出挑战,要求我制作一个简单的程序,要求用户输入一个最大值,然后输入一个样本大小(n)。然后它只使用randint在shell中使用ascii字符创建直方图 我可以很容易地确定班级的宽度和界限。我遇到的问题是理解和实现某种算法,将属于特定类的所有数字附加到要打印的直方图列表中。例如,如果我有: sample = [5, 1, 3, 9, 7, 13, 12, 5] class_boundaries = [(1, 4), (4, 7), (7, 10), (10, 14)] his

我的一个朋友向我提出挑战,要求我制作一个简单的程序,要求用户输入一个最大值,然后输入一个样本大小(n)。然后它只使用randint在shell中使用ascii字符创建直方图

我可以很容易地确定班级的宽度和界限。我遇到的问题是理解和实现某种算法,将属于特定类的所有数字附加到要打印的直方图列表中。例如,如果我有:

sample = [5, 1, 3, 9, 7, 13, 12, 5]
class_boundaries = [(1, 4), (4, 7), (7, 10), (10, 14)]
histogram = []
我只需要创建一个函数,将示例值附加到它们在引用类边界时所属的位置。例如,直方图[0]应该返回[1,3]。我一直在尽最大努力尝试不同的解决方案,并了解for循环算法或list comprehensions是如何工作的,但对我的问题的实际解释对于我更好地理解如何编程非常有帮助。提前谢谢你

sample=[5,1,3,9,7,13,12,5]
sample = [5, 1, 3, 9, 7, 13, 12, 5]
class_boundaries = [(1, 4), (4, 7), (7, 10), (10, 14)]
classified = [[X for X in sample if LO <= X <= HI] for LO,HI in class_boundaries]
counts = [sum(LO <= X <= HI for X in sample) for LO,HI in class_boundaries]
类_边界=[(1,4)、(4,7)、(7,10)、(10,14)]
classified=[[X for X in sample if LO您的预期输出是什么?对于已完成的程序,我使用len(直方图[I])打印直方图。不过,在这个示例中,打印直方图列表中的不同列表对于理解问题是非常理想的。因此:print histogram[0]in应该返回[1,3]。
sum(非常感谢!这一切都是不言自明的,但我仍然难以独自书写和理解列表。