第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:格式化列表中的數(shù)據(jù)

Python:格式化列表中的數(shù)據(jù)

PHP
www說 2023-11-09 21:23:44
我有很多這樣的數(shù)據(jù)列表:['Pardubicky kraj', 'Pardubice', 'Libi?any', 'Libi?any']['Královéhradecky kraj', 'Hradec Králové', 'Nechanice', 'Lubno u Nechanic']['Královéhradecky kraj', 'Hradec Králové', 'Nechanice', 'Nechanice']我需要創(chuàng)建一個字符串,如下所示:Královéhradecky kraj`  Hradec Králové    1 Nechanice      1a Lubo u Nechanic      1b NechanicePardubicky kraj  Pardubice    2 Libi?any      2a Libi?any換句話說,每個列表的最后一個元素是唯一的,但層次上的其他元素可能是相同的,并且在一致的情況下可以不重復(fù)。我還需要每個分層組按字母順序排序。我不知道該怎么做。我將不勝感激任何建議謝謝編輯:如果我再舉一些例子:['black', 'one', 'cat']['black', 'two', 'dog']['red', 'five', 'pig']['pink', 'one', 'snake']black 1 one  1a cat 2 two  2a dogred 3 five  3a pigpink 4 one  4a snake
查看完整描述

1 回答

?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個贊

我認(rèn)為有一種更優(yōu)雅的方式來寫這個。我還沒有找到時(shí)間來獲取這個。所以這里有一個快速但骯臟的版本,但仍然對你有用。


x = [['black', 'sugar', 'second', 'dog'],

     ['red', 'cane', 'five', 'pig'],

     ['black', 'sugar', 'first', 'cat'],

     ['pink', 'cute', 'one', 'snake'],

     ['pink', 'angry', 'one', 'donkey'],

     ['black', 'sugar', 'third', 'bird'],

     ['red', 'cane', 'five', 'monkey'],

     ['pink', 'angry', 'one', 'spider']]


x.sort()


print (x[0][0])

print ('  ' + x[0][1])

print ('   1 ' + x[0][2])

print ('     1a '+x[0][3])


level_2 = 1

level_3 = 'a'


for i,a in enumerate(x[1:]):

    if a[0] == x[i][0]:

        if a[1] == x[i][1]:

            if a[2] == x[i][2]:

                level_3 = chr(ord(level_3) + 1)

            else:

                level_2 +=1

                level_3 = 'a'

                print ('   ' + str(level_2) + ' ' + a[2])

        else:

            level_2 +=1

            level_3 = 'a'

            print ('  ' + a[1])

            print ('   ' + str(level_2) + ' ' + a[2])

    else:

        level_2 +=1

        level_3 = 'a'

        print (a[0])

        print ('  ' + a[1])

        print ('   ' + str(level_2) + ' ' + a[2])

    print ('     ' + str(level_2) + level_3 + ' ' + a[3])

其輸出是:


black

  sugar

   1 first

     1a cat

   2 second

     2a dog

   3 third

     3a bird

pink

  angry

   4 one

     4a donkey

     4b spider

  cute

   5 one

     5a snake

red

  cane

   6 five

     6a monkey

     6b pig


查看完整回答
反對 回復(fù) 2023-11-09
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號