如何在Python中记录列表的打印列表

2024-04-24 08:33:20 发布

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

我有一份清单如下

import random
list_of_list=[]

for i in range(1000):
    sub_list=[random.randint(0, 10) for iter in range(10)]
    list_of_list.append(sub_list)

​ 我可以用历史图绘制上述列表的任何一个子列表,如下所示

plt.hist(list_of_list[10])

Single sublist plot

我是否可以用直方图或其他类似的方式来绘制整个列表


Tags: ofinimport列表for绘制rangeplt
2条回答

传递列表列表会将每个子列表视为一个单独的组,按颜色区分

plt.hist(list_of_list)

3个子列表示例:

enter image description here

如果需要,还可以将子列表展平为单个列表,以便将它们视为同一批:

import itertools
merged = list(itertools.chain(*list_of_list))
plt.hist(merged)

输出:

enter image description here

你可以把它画成

plt.hist([elt for lst in list_of_list for elt in lst])

example hist

你会注意到最后一个箱子的高度是其余箱子的两倍。与类似的函数不同,random.randint(0, 10)生成从010的值。由于四舍五入,两个910最终都在同一个箱子中。您可以使用plt.hist(..., bins=11)创建11个箱子

还请注意,在处理大型数值数据列表时,使用numpy库总是更容易、更快。它的语法一开始可能看起来很奇怪,但你很快就会习惯它。例如,要从2d列表创建1d列表,命令将为np.array(list_of_list).ravel()

相关问题 更多 >