2015-11-10 73 views
-1

所以我工作的一開始蟒類一門功課的索引。我被要求編寫一個帶有兩個參數的函數,一個字符串和一個按字母順序排列的函數。該函數將返回整數索引,以便將字符串放置在哪裏,以便列表保持按字母順序排列。返回字母列表蟒蛇

我不允許在列表中插入任何東西,或者在任何情況下追加列表(我試着只是將字符串添加到列表中,然後返回索引,以便字符串現在所在的位置)所有函數都是返回的是整數索引值。我可以使用一些方向,從哪裏開始,而不使用插入和訴諸...謝謝。

+0

我的思維過程是運行一個循環,我的字符串比較每個單獨的字符串在列表中。但我不知道如何作出比較。我覺得我能做到這一點與整數,但並不完全知道在哪裏用繩子去。 –

回答

2

因爲我不想寫功課對你來說,這裏是做僞碼單向的:。

def insert_index(string, list) 
    for every item in your list: 
     if the item is greater than your string: 
      return index of item 
     else: 
      go to next item 

古怪不夠的,因爲蟒蛇被寫入的方式,這是版本Ÿ接近實際的代碼...

因爲字符串是可比的,你其實可以做這樣的事情'a'<'b',並返回一個有效的布爾。既然你的列表是按字母順序排列,只要你打的比你更大的字符串中的項目,那麼你知道你要你的串去,多數民衆贊成。

也,它會使用enumerate功能,爲您的循環結構(HINT HINT)在python

+0

我不知道我可以在字符串上進行比較。謝謝你的幫助。 –

+0

蟒蛇的奇蹟將繼續使你驚奇 –

1

我將遍歷列表並將列表中的當前字符串與您嘗試插入的字符串進行比較(< >比較器在字符串上工作,使用'b' > 'a'。不要太費勁地利用列表中的事實您將得到已按字母順序排列,以確定哪些指標在字符串傳遞將被放置在

+0

因此Python會與字符串進行比較?我覺得我可以用整數作爲1 <2 ... python理解'a'<'b'?這可能會讓我去哪裏... –

-1

一個很酷的事情是,信是一種更高的價值,如果他們是在字母表往前走是有用的。例如,'b'>'a'。事實上,你可以在解釋器中鍵入'b'>'a',它會告訴你'真'。因此,只需將字母列表中的第一個字母與列表項中的第一個字母進行比較即可。 像這樣的東西(我沒有檢查它,所以它可能並不完美,而是要設法得到它的要點)

for i in range(0,len(list)): 
    if (list[i][0] < str[0]): 
     print(i) 
     break 
+0

第一個字符排序而不是Python特定的;這更多的是ASCII的屬性,然後OP說這是一個按字母順序排列的列表;不是包含字母表的列表;最後IMO有一點直接回答了一些作業問題。 – Sehnsucht