Athlete Sort

Sort by

recency

|

535 Discussions

|

  • + 0 comments
    #!/bin/python3
    
    import math
    import os
    import random
    import re
    import sys
    
    
    
    if __name__ == '__main__':
        n,m = map(int,input().split())
        arr = []
    
        for _ in range(n):
            arr.append(list(map(int, input().rstrip().split())))
    
        k = int(input())
        for info in sorted(arr,key = lambda x : x[k]):
            print(*info)
    
  • + 0 comments

    if name == 'main': n,m = map(int,input().split()) arr = []

    for _ in range(n):
        arr.append(list(map(int, input().rstrip().split())))
    
    k = int(input())
    for info in sorted(arr,key = lambda x : x[k]):
        print(*info)
    

    `

  • + 0 comments

    if name == 'main':

    n, m = map(int, input().split())
    arr = [list(map(int, input().split())) for _ in range(n)]
    k = int(input())
    
    arr.sort(key = lambda x : x[k])
    print("\n".join([" ".join(map(str, i)) for i in arr]))
    

    `

  • + 0 comments

    I am learning lambda expression... This is very powerful. I start to understand the logic that we can sort a list depending of one of his attribute, but we have to give the index of this attribute into the lambda expression. Here my code :

    import math
    import os
    import random
    import re
    import sys
    
    
    
    if __name__ == '__main__':
        first_multiple_input = input().rstrip().split()
    
        n = int(first_multiple_input[0])
    
        m = int(first_multiple_input[1])
    
        arr = []
    
        for _ in range(n):
            arr.append(list(map(int, input().rstrip().split())))
    
        k = int(input().strip())
        
        # With lambda, we can sort depending of one attribute. If I add "-" I have descending order. Here we want ascending order.
        key = lambda item: (item[k])
        #print(sorted(arr, key=key))
        arr = sorted(arr, key=key)
        
        for sublist in arr:
            print(' '.join(map(str, sublist)))
    
  • + 0 comments
    import math
    import os
    import random
    import re
    import sys
    
    
    
    if __name__ == '__main__':
        nm = input().split()
    
        n = int(nm[0])
    
        m = int(nm[1])
    
        arr = []
    
        for _ in range(n):
            arr.append(list(map(int, input().rstrip().split())))
    
        k = int(input())
    
        arr_with_key =  [(row[k], idx, row) for idx, row in enumerate(arr)]
      
        arr_with_key.sort()
    
        for _, _, row in arr_with_key:
            print(' '.join(map(str, row)))