【发布时间】:2017-03-26 00:27:54
【问题描述】:
我有类似以下的内容:
pen = [1, 2, 3, 4]
pencil = [2,3,4,5]
paper = [3,4,5,6]
group_of_items = [pen, pencil, paper]
我想从这个列表列表中随机选择一定数量的列表,结果是这样的:
[pencil, pen]
我从另一个问题中找到了以下内容(根据我的情况进行了更改)。
import random
pen = [1, 2, 3, 4]
pencil = [2,3,4,5]
paper = [3,4,5,6]
group_of_items = [pen, pencil, paper]
num_to_select = 2
list_of_random_items = random.sample(group_of_items, num_to_select)
print(list_of_random_items)
它给出了类似的东西。
[[2, 3, 4, 5], [1, 2, 3, 4]]
所以,它很接近,但没有雪茄。我也发现了这个。
import numpy as np
pen = [1, 2, 3, 4]
pencil = [2,3,4,5]
paper = [3,4,5,6]
group_of_items = [pen, pencil, paper]
num_to_select = 2
random_list = np.random.choice(group_of_items, num_to_select, replace=False)
print(random_list)
但它不适用于列表列表(多维)。
我怎样才能实现我的目标?
哦,我不想重复。
注意:我的编码经验相当有限。我主要是复制和粘贴我在网上找到的内容,只做一些小的改动。
编辑:以上只是一个快速拼凑的测试。我构建的是一个使用 PythonAnywhere 的 Twitter 推特机器人。它按原样工作得很好,但我想为其添加更多随机功能。
我在 Google 电子表格中有推文列表,我将其拉到 Python 列表中,如下所示:
quotes = tweet_sheet.col_values(3)
我有几个这样的列表,我将它们放在一个主列表中。但我不想每次运行程序时都从每个列表中发推文。
现在我使用这样的东西。
sources = [tips,feed,quotes... etc...
我想从列表的主列表中选择 x 个列表,以便在程序运行时使用。 (这措辞有点好笑)
到目前为止,我从 cmets 猜测我上面的内容会起作用。就是对其余代码进行更多调整。
【问题讨论】:
-
这个结果怎么不是你想要的?列表不会打印变量名。
-
除非您在字符串级别处理数据,否则您将无法做到这一点。
-
@MarkLee 这听起来像XY problem。也许你应该告诉我们你真正想要做什么,因为可能有更好的方法来完成它。
-
保留
dict的字符串到列表,然后像上面那样从这些字符串的列表中随机选择,然后使用dict作为从字符串到列表的映射。 -
但是马克,您正在选择列表的随机样本。你的例子如何“接近但没有雪茄”? python 列表不会记住用于构建它的变量的名称。
标签: python list python-3.x random