【问题标题】:How to sort a multi-line list to a single-line list in python如何在python中将多行列表排序为单行列表
【发布时间】:2021-01-27 19:54:17
【问题描述】:

您如何从两个列表的串联中获取输出并将其放入一个列表中。例如-

example1 = ["hello", "banana", "skit"]   
example2 = ["rodeo", "pine", "sky", "feel"]   
joined_list = example1 + example2

但是结果是这样的-

[ "hello" ,   
  "banana" ,   
  "skit" ,   
  "rodeo" ,   
  "pine" ,   
  "sky" ,   
  "feel" ]

我需要它在一个单行列表中,所以输出应该看起来像-

["hello", "banana", "skit", "rodeo", "pine", "sky", "feel"]

如果有人也知道如何根据最高字符串长度对这个列表进行排序,那么它最终看起来像-

["banana", "hello", "rodeo", "feel", "pine", "skit", "sky"]

任何有助于正确格式化的帮助将不胜感激!

【问题讨论】:

  • print(joined_list)
  • joined_list = 已排序(示例 1 + 示例 2)
  • 没有“多行列表”之类的东西。不同之处在于列表的显示方式。按照上面的建议尝试print 函数。

标签: python python-3.x


【解决方案1】:

在joined_list上使用sort

example1 = ["hello", "banana", "skit"]   
example2 = ["rodeo", "pine", "sky", "feel"]   
joined_list = example1 + example2
joined_list.sort(key=len, reverse=True)
print(joined_list)

输出

["banana", "hello", "rodeo", "feel", "pine", "skit", "sky"]

【讨论】:

  • 这是正确的答案,并且可以节省大量时间。在 Python 2.3 时代,您将使用 zip 将长度列表与字符串列表组合,对它们进行排序(必要时进行反向排序),然后解压缩排序列表以仅检索字符串列表。
  • 好吧,我加入了python3.5天,不知道python2发生了什么,但可以理解你的痛苦,因为我来自c++背景,我必须编写整个程序,而它可以是在 1 行中完成:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多