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

删除列以在Python中进行排序

公西修文
2023-03-14
本文向大家介绍删除列以在Python中进行排序,包括了删除列以在Python中进行排序的使用技巧和注意事项,需要的朋友参考一下

假设我们有一个由N个小写字母字符串组成的数组,该数组的名称为A,所有字符串的长度相同。现在,我们可以选择任何一组删除索引,并且对于每个字符串,我们都删除这些索引中的所有字符。

例如,如果我们有一个数组A,例如[“ abcdef”,“ uvwxyz”],删除索引是{0,2,3},那么删除后的最终数组将是[“ bef”,“ vyz”], A的其余列为[“ b”,“ v”],[“ e”,“ y”]和[“ f”,“ z”]。

假设我们选择了一组删除索引D,就像删除后一样,A中的每个其余列都以非降序排列。我们必须找到D长度的最小可能值。

因此,如果输入类似于[“ cba”,“ daf”,“ ghi”],则输出将为1,这是因为在选择D = {1}之后,则每列[“ c”,“ d” ,“ g”]和[“ a”,“ f”,“ i”]的顺序不减。如果我们选择D = {},则列[“ b”,“ a”,“ h”]的排序顺序将不会减少。

为了解决这个问题,我们将遵循以下步骤-

  • A =通过从数组中提取字符串来构成矩阵,并将字符分成不同的列

  • B =新的空列表

  • 对于A中的col

    • 如果col已经排序,则将0插入B

    • 否则将1插入B

  • 返回B中所有元素的总和

让我们看下面的实现以更好地理解-

示例

class Solution:
   def minDeletionSize(self, A):
      return sum([1-(sorted(col)==list(col)) for col in zip(*A)])
ob = Solution()print(ob.minDeletionSize(["cba","daf","ghi"]))

输入值

["cba","daf","ghi"]

输出结果

1
 类似资料:
  • 问题内容: 我有这个清单 但是现在我希望列表按以下方式排序: 如您所见,无论每个数字具有什么符号,我都希望从高到低排序,但是保持符号清晰吗? 问题答案: 使用的关键功能或:

  • 我试图排序列的. csv文件。这些是列的名称和顺序: 这是我想要的订单: 当前我的代码如下所示: 使用我当前的代码,我得到以下列顺序的结果: 所以我已经想出了我必须传递一个函数给排序函数来指定我希望它如何排序,但是我找不到一个函数来做这件事。 非常感谢您的任何意见!

  • 有没有办法在VSCODE中重新排列/重新排序多行? 例如;我有这样的东西,(很多行)。不一定在行首。 我想把它重新安排成, 我知道一些技巧,用键选择多行,然后使用

  • 问题内容: 用Python的方式对压缩列表进行排序是什么? 代码: 上面的代码显示 [[‘d’,3),(’a’,2),(’t’,1),(’x’,0)] 我想排序 压缩 的价值观。因此,理想情况下,它最终看起来像这样 [[‘x’,0),(’t’,1),(’a’,2),(’d’,3)] 。 问题答案:

  • 问题内容: 对此问题的任何帮助将不胜感激。 我有一个元组列表 并且我需要删除某种类型的重复项:根据我的定义,(1,2)和(2,1)被视为重复项。所需输出 提前致谢 问题答案: 您可以对它们进行排序,然后使用删除重复项:

  • 问题内容: 我在Python中有两个列表 我想对第一个列表进行排序,并使用结果对第二个列表进行排序。 换句话说,结果应为: 我知道如何分别对每个列表进行排序,但是如何使用对另一个列表进行排序所产生的索引排列来对一个列表进行排列呢? 问题答案: 施瓦兹变换