题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
s=input()
lis=[]
for i in range(int(s)):
lis.append(input())
lis.sort()
for i in range(int(s)):
print(lis[i],end='\n')
以下参考http://www.runoob.com/python3/python3-att-list-sort.html
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法
sort()方法语法:
list.sort(cmp=None, key=None, reverse=False)
参数
cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值
该方法没有返回值,但是会对列表的对象进行排序。
实例
以下实例展示了 sort() 函数的使用方法:
实例
aList = [‘Google’, ‘Runoob’, ‘Taobao’, ‘Facebook’]
aList.sort()
print ( “List : “, aList)
以上实例输出结果如下:
List : [‘Facebook’, ‘Google’, ‘Runoob’, ‘Taobao’]
以下实例降序输出列表:
实例
列表
vowels = [‘e’, ‘a’, ‘u’, ‘o’, ‘i’]
降序
vowels.sort(reverse=True)
输出结果
print ( ‘降序输出:’, vowels )
以上实例输出结果如下:
降序输出: [‘u’, ‘o’, ‘i’, ‘e’, ‘a’]
以下实例演示了通过指定列表中的元素排序来输出列表:
实例
!/usr/bin/python
获取列表的第二个元素
def takeSecond(elem):
return elem[1]
列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
指定第二个元素排序
random.sort(key=takeSecond)
输出类别
print (‘排序列表:’, random)
以上实例输出结果如下:
排序列表:[(4, 1), (2, 2), (1, 3), (3, 4)]
sort 应用场景
list3 = [‘a’,10086,’wo’,10010,]
list3.sort()
print(list3)
输出结果显示错误:
list3.sort()
TypeError: ‘<’ not supported between instances of ‘int’ and ‘str’
可见 sort 方法不适合 int 和 str 类型的比较。
list1 = [‘我’,’爱’,’python’]
list2 = [100, 200, 300,400,300]
list1.sort()
list2.sort()
print(list1,list2)
输出结果:
[‘python’, ‘我’, ‘爱’] [100, 200, 300, 300, 400]
分别比较是可行的。
对上面的代码稍作修改:
list1 = [‘我’,’爱’,’python’,[1,2,3]]
list1.sort()
print(list1)
输出结果也是错误的,显示 list 和 str 不能相互比较。
参考地址
1.字符串排序
def list_sort_string():
list=[“delphi”,”Delphi”,”python”,”Python”,”c++”,”C++”,”c”,”C”,”golang”,”Golang”]
list.sort() #按字典顺序升序排列
print(“升序:”,list)
list.sort(reverse=True) #按降序排列
print("降序:",list)
排序结果:
升序: [‘C’, ‘C++’, ‘Delphi’, ‘Golang’, ‘Python’, ‘c’, ‘c++’, ‘delphi’, ‘golang’, ‘python’]
降序: [‘python’, ‘golang’, ‘delphi’, ‘c++’, ‘c’, ‘Python’, ‘Golang’, ‘Delphi’, ‘C++’, ‘C’]
2.数值型排序
def list_sort_number():
list=[30,40,10,50,50.1,80,60,100,90]
list.sort()
print(“升序:”,list)
list.sort(reverse=True)
print("降序:",list)
排序结果:
升序: [10, 30, 40, 50, 50.1, 60, 80, 90, 100]
降序: [100, 90, 80, 60, 50.1, 50, 40, 30, 10]
3.根据列表中类对象的属性排序
class element(object):
def init(self,id=”“,name=”“):
self.id=id
self.name=name
def lt(self, other): # override <操作符
if self.id