【发布时间】:2023-01-08 22:18:50
【问题描述】:
我有以下列表:
original_list = [('Anger', 'Envy'), ('Anger', 'Exasperation'), ('Joy', 'Zest'), ('Sadness', 'Suffering'), ('Joy', 'Optimism'), ('Surprise', 'Surprise'), ('Love', 'Affection')]
我正在尝试使用 random 方法创建一个包含元组(上述列表)的第二个元素的 random 列表,这样的方式作为第一个元素出现的重复值只被考虑一次.
也就是说,我正在查看的最终列表将是:
random_list = [Exasperation, Suffering, Optimism, Surprise, Affection]
因此,在新列表 random_list 中,字符串 Envy 和 Zest 被删除(因为它们出现在原始列表中两次).并且该过程必须随机化结果,即每次迭代都会产生不同的列表五元素。
我可以请别人告诉我我该怎么做吗?
【问题讨论】:
-
“每次迭代”是什么意思:消除重复项的迭代或最终获得
random_list下的迭代? -
也许你想要
list(dict(random.sample(original_list, len(original_list))).values())? -
@RomanPerekhrest 对不起 - 我想我还不够清楚。我想通过(随机)删除重复项来随机化
original_list,然后最后追加random_list。比如说,列表中有n元组。我只想要p样本 (p < n)。 -
@AndrejKesely 我收到错误消息:
TypeError: Population must be a sequence or set. For dicts, use list(d). -
@LovePutin 那么
original_list是字典,而不是列表?
标签: python-3.x list random