2017-08-23 2 views
0

を維持しながら値で辞書データを並べ替え:私はこのようになりますこと(私は少し迷ってしまいましたので、主に試行錯誤)の辞書を作成した一意のキー

{0:「68651880」を、993793を: 68656512 '、3595:' 68657355 '、1549:' 68655127 '、559630:' 68656512 '、3599:' 68656512 '、29648:' 68671002 '、325637:' 68656512 '、282119:' 68656512 ' '、' 6865655 '、344721:' 68656512 '、40476:' 68660531 '、' 6865655 '、 「68656512」、3419: '68660531'、73533: '68660531'、5201: '68651903'、169511: '68656512' '68657355'、450689: '68656512'、22949: '68671002'、26631: '68671002'、16940: '68671002'、9774: '68651903'、50735: '68671002' 「68656512」、「68656512」、「350263」、「68656512」、「2565」、「68655127」、411195:「68656512」、237630:「68671002」、24639:「68671002」、1417:「68655127」、3649: '68657355'、404035: '68656512'、409161: '68656512'、330826: '68656512'、3659: '68657355'、20044: '68660531'、195661: '68671002'、67482: '68671002'、259151: '68656512 '、3310:' 68657355 '}

あなたの理解を助けるために、キー(最初の値)は時間単位の秒単位で、値(2番目の値)は6で始まるジョブIDです。すべて8桁の長さで、時にはそれらは繰り返します。

データを整理して、各ジョブIDの昇順で時間を秒単位で表示する必要があります。したがって、ジョブIDが繰り返される場合は、その一部がそうするように、そのジョブIDの対応する時間(秒単位)を昇順でソートしたいと考えています。ここで

興味があれば、私はデータのリストを生成する方法のコードです:

#create urlfriendlylist 
for item in urlfriendlylist: 
    fpp = FarmPageParser("http://farmweb/AnimalFarm/" + item + ".html#subjobs") 
    fpp.reset() 
    slowjobs = fpp.getFarmTableHTML(4) 
    fpp.feed(slowjobs) 
    x = fpp.table 
    #turn back into jobid 
    key = item[0:5] + item[6:9] 
    #create dictionary of CPU time and jobid 
    for a in x: 
     try: 
      CPUtime = a[2] 
      #use function to convert hh:mm:ss into ssssss 
      sec_got = get_sec(CPUtime) 
      #populate dictionary with loop 
      dic[sec_got] = key 
     except: pass 
print dic 
+0

の可能な重複が[Pythonの並べ替え値による辞書](https://stackoverflow.com/questions/613183/sort-a-python-dictionary-by-value) – bezet

答えて

2

を次のようにあなたは、そのための別の辞書を作成することができます。

dic2 = {} 
for key, value in dic.iteritems(): 
    if not value in dic2: 
     dic2[value] = [] 
    dic2[value].append(key) 

for lst in dic2: 
    lst.sort() 

print dic2 
+0

彼は技術的に昇順でソートされた時間を望んでいますが、それ以外の場合はこのように見えます –

+0

ありがとう多く!ええ、それはほとんどpefectです。今度は、Robbie Jonesが言ったように昇順の時間値が必要です。 –

+0

ソート用のループを追加しました。 – trincot