Python
1 2#input()から入力されて、リストに追加したすべてのデータ(入力順) 3mm = [[8, 10], [7, 6], [8, 4]] 4 5 6#mmの入力されたデータの中からあるき順によりlのリストに使いされたもの 7l = [[7, 6], [8, 4]] 8 9 10 11
上記のようなリストがあるときに、lのリストで、[7,6] [8,4]と二つの要素で、 各左側の数字の大小をくらべ、大きいものの入力番号を出力したいです。
また、左側の数字が複数同じものがある場合は、先に入力された番号を返すプログラムを考えているのですが、sort()等をしようしてもうまくいきません。
アドバイスをお願いします。
上記のリストでは出力が lの大きいものは [8,4]なので、mmでみると3番目に入力されているので、3と出力されるといった感じです。
下記私が書いたコードです。
Python
1#入力数と許容範囲等 2n = input().split() 3n = [int(i) for i in n] 4han_1 = n[1] - n[2] 5han_2 = n[1] + n[2] 6 7mm = [] 8point = [] 9ooo = 0 10for j in range(n[0]): 11 12 #調べる 13 k = input().split() 14 k = [int(l) for l in k] 15 mm.append(k) 16 if han_1 <= k[1] <= han_2: 17 18 point.append(k) 19 ooo += 1 20 21 22 23if ooo == 0: 24 print("not found") 25 26else: 27 l = max(point,key=lambda x:x[0]) 28 for x in mm: 29 if l == x[0]: 30 break 31 32 print(mm.index(l)+1) 33 34 35 36
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/05 04:13
2018/10/05 04:32
2018/10/05 04:59
2018/10/05 05:02 編集
2018/10/05 05:02 編集
2018/10/05 05:02
2018/10/05 05:18
2018/10/05 05:19
2018/10/05 05:20
2018/10/05 05:40
2018/10/05 05:41
2018/10/05 05:52
2018/10/05 07:08