当前位置: 首页 > 编程笔记 >

在Python中查找列表中元素的相对顺序

宗政权
2023-03-14
本文向大家介绍在Python中查找列表中元素的相对顺序,包括了在Python中查找列表中元素的相对顺序的使用技巧和注意事项,需要的朋友参考一下

我们给了一个列表,其元素是整数。我们需要找到相对顺序,这意味着如果它们以升序排序,那么我们需要找到它们位置的索引。

带排序和索引

我们首先对整个列表进行排序,然后在排序之后找出每个列表的索引。

示例

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and index()
res = [sorted(listA).index(i) for i in listA]
# printing result
print("list with relative ordering of elements : \n",res)

输出结果

运行上面的代码给我们以下结果-

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]

用枚举和排序

使用枚举和排序函数,我们检索每个元素,然后创建一个包含枚举和排序函数的字典容器。我们使用map函数通过该容器获取每个元素。

示例

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and enumerate
temp = {val: key for key, val in enumerate(sorted(listA))}
res = list(map(temp.get, listA))
# printing result
print("list with relative ordering of elements : \n",res)

输出结果

运行上面的代码给我们以下结果-

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]
 类似资料:
  • 问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:

  • 问题内容: 所以这是我的代码: 包含一个整数列表。我想比较于并打印出不在的数字相比时。 当不能比较时,我可以打印其中的元素,但是当我尝试使用上面的代码进行相反操作时,则什么也不会打印。 有什么帮助吗? 问题答案: 您的代码没有按照我认为的方式执行。该行将遍历,每次等于的一个元素。因此,在执行任何操作之前,原始列表将被覆盖。 我想你想要这样的东西: 但是您可以轻松地执行以下操作: 或(如果您不介意丢

  • 问题内容: 在Python列表中查找最常见元素的有效方法是什么? 我的列表项可能无法散列,因此无法使用字典。同样在绘制的情况下,应返回索引最低的项目。例: 问题答案: 提出了这么多解决方案,令我惊讶的是没有人提出我认为显而易见的解决方案(对于不可哈希但可比较的元素)-。 提供快速,可重用的功能,并允许你将一些棘手的逻辑委托给经过良好测试的标准库组件。考虑例如: 当然,这可以写得更简洁一些,但我的目

  • 问题内容: 我有一个很长的浮点数列表,范围从1到5,称为“平均值”,我想返回小于a或大于b的元素的索引列表 但是令人惊讶的是,“ matches”的输出中有很多重复,例如。 为什么会这样呢? 问题答案: 您正在使用它将仅在列表中找到您的值的 第一个 匹配项。因此,如果在索引2和索引9处的值为1.0,则无论列表中发生了多少次,都将 始终 返回。 使用到索引添加到您的循环,而不是: 您可以将其折叠为列

  • 问题内容: 我必须搜索一个列表,然后用一个元素替换所有出现的元素。到目前为止,我在代码方面的尝试使我无处可寻,做到这一点的最佳方法是什么? 例如,假设我的列表具有以下整数 我需要将所有出现的数字1替换为值10,所以我需要的输出是 因此,我的目标是将数字1的所有实例替换为数字10。 问题答案:

  • 主要内容:index() 方法,count()方法Python 列表(list)提供了 index() 和 count() 方法,它们都可以用来查找元素。 index() 方法 index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。 index() 的语法格式为: listname.index(obj, start, en