【问题标题】:Sort a list of lists alphabetically by the first two items in the list in Python在 Python 中按列表中的前两项按字母顺序对列表列表进行排序
【发布时间】:2022-11-15 22:20:57
【问题描述】:

我在python中有这个输入:

4
m.hosSein.python
f.miNa.C
m.aHMad.C++
f.Sara.java

(f:女,m:男,姓名,语言程序)

我想将这些表格分类并标准化为以下表格:

f 米娜 C f 萨拉爪哇 m 艾哈迈德 C++ m 侯赛因蟒蛇

我写了这个程序:

input1=int(input())

results = []
for k in range(input1):
    input2 = input().split(".")
    results.append(input2)

results.sort(key=lambda x:(x[0::]), reverse=False)

for i in results:
    i[1]=str(i[1])
    i[1]=i[1].title()
    print(i[0],str(i[1]), i[2])

但是这个程序给了我:

f 萨拉爪哇 f 米娜 C m 艾哈迈德 C++ m 侯赛因蟒蛇

那,它的输出是错误的,因为我想在名字中的“Sara”之前给“Mina”,

请帮我。

    input1=int(input())

    results = []
    for k in range(input1):
      input2 = input().split(".")
      results.append(input2)
 
    results.sort(key=lambda x:(x[0::]), reverse=False)

    for i in results:
      i[1]=str(i[1])
      i[1]=i[1].title()
      print(i[0],str(i[1]), i[2])

【问题讨论】:

    标签: python list sorting


    【解决方案1】:

    如下更改您的 sort 操作会产生您想要的结果:

    results.sort(key=lambda x:(x[0], x[1]), reverse=False)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 2014-02-08
      • 1970-01-01
      相关资源
      最近更新 更多