我有一个 float 类型的mark_list ,我试图在其中按升序排序。

mark_list
Out[100]: [39, 37.21, 38, 37.21, 37.2]

sorted(mark_list)
Out[101]: [37.2, 37.21, 37.21, 38, 39]

set(sorted(mark_list))
Out[102]: {37.2, 37.21, 38, 39}

list(set(sorted(mark_list)))
Out[103]: [37.21, 37.2, 38, 39]

我期望输出[37.2, 37.21, 38, 39]

为什么 37.21 领先于 37.2 ? 我错过了什么?

#1楼 票数:5 已采纳

套装无序。 如果你想有一个排序的列表,首先得到集合,然后转换为列表,最后排序。

#2楼 票数:2

实际上,您不想在这种情况下使用set 这里重要的是要考虑:

set

是一个没有重复元素的无序集合。 基本用途包括成员资格测试和消除重复条目。

您可以在Python 文档中阅读更多内容

  ask by Arun translate from so

未解决问题?本站智能推荐:

1回复

Python:尝试按字母顺序对集合排序时出错

我正在尝试按字母顺序对集合进行排序。 这是我正在使用的语句: 我收到错误消息“'列表'对象没有属性'联合'”。 但是,如果我删除要排序的代码,则不会收到此错误。 也就是说,在这种情况下,代码可以完全正常工作: 但是,当我添加第二行时,我得到了错误。 有人可以帮我理解为什么这种奇怪
2回复

从列表中删除出现的单词

假设我有一个单词列表,如下所示, 我尝试使用如下所示的集合, sent是列表A。 以上方法的结果将是 但是,我需要结果是 问题 :如何更改代码以满足生成所需清单的needed_result ? 我也想避免设置,因为我需要保留订单。
2回复

集合是否像python3.6中的字典一样排序

由于 Python 3.6 中dict实现的变化,它现在默认排序。 现在set保留顺序吗? 我找不到任何关于它的信息,但由于这两种数据结构在其底层工作方式上非常相似,我认为可能是这种情况。 我知道没有承诺在所有情况下都订购dict ,但大多数情况下都是如此。 正如 Python 文档中所述: 这个
3回复

(Python)如何将整数列表转换为集合列表,其中每个集合都是一对这些整数?[重复]

这个问题已经在这里有了答案: 将列表转换为元组列表python 7答案 我有一个列表E = [1,2,3,4,5,6,7,8] ,我想将其转换为E = [{1,2}, {3,4}, {5,6}, {7,8}]的计算成本最低。 特别是,我想将此扩展到E大实例。 在Pytho
3回复

python-如何将列表列表转换为python中的集合,以便与其他集合进行比较?

我有一个列表users_with_invites_ids_list ,由循环形成,我将值附加到列表中,在 python 中,如下所示: 当我尝试: 我得到: 如何将此列表列表转换为一组? 编辑根据答案,我做了以下工作: 产生以下结果: 如何在没有()情况下获取每个ObjectId 。 这让我无法将这
1回复

Python:将集合列表转换为集合

我正在开发一个涉及DFA的编程项目,我遇到了一个错误,我似乎无法弄清楚如何绕过。 在这段代码中: 我收到此错误: 这是因为方法mn_classes()返回一个元素为sets的列表。 我正在寻找一种方法将此列表转换为一个集合,但我现在不能这样做,因为集合必须是可以清除的。 如果有人
2回复

如何将纯文本列表转换为python3列表

我想获取一个名称列表,并使用正确的语法将它们放入一个 python 列表中。 我怎么能这样做? 因为否则我将不得不遍历并在任何地方加上引号和逗号,并且我正在处理长列表。 例如,如果我有: 如何将这些名称更改为字符串而不单独执行每个名称?
1回复

为什么将列表转换为集合并返回时会出现无法散列的类型“列表”错误

像这里的许多其他问题一样,我正在尝试从列表中删除重复项。 但是,当我执行其他答案要求工作的代码时,出现以下错误: 在以下代码行上: 有谁知道这个问题的可能解决方案? 这是因为在大多数情况下原始结构不是列表吗? 谢谢!