2009-12-15 154 views
1

循環在一個字符串假設12345,我想利用嵌套的循環,這樣我就可以通過串在這下面的方式進行迭代: -嵌套在蟒蛇

  1. 1,2,3,4 ,5將被視爲整數
  2. 12,3,4,5-作爲整數
  3. 1,23,4,5爲整數
  4. 1,2,34,5爲整數 ...

等等。我知道什麼是邏輯,但作爲Python的noob,我無法形成循環。

+0

2nd和3rd有什麼不同? – SilentGhost 2009-12-15 13:41:22

+0

所以,如果你知道邏輯,也許你應該嘗試用文字描述它,作爲示例輸出的補充。 – unwind 2009-12-15 13:42:45

+0

在第2中,12是整數,第3中,23是整數。 – Hick 2009-12-15 13:43:25

回答

0

你可以通過下面的代碼做內部遍歷,第一遍遍是微不足道的。

s = '12345' 

chars = [c for c in s] 

for i in range(len(s) - 1): 
    print '%d:' % i, 
    for el in chars[:i] + [chars[i] + chars[i + 1]] + chars[i + 2:]: 
     print el, 
    print 
1

這聽起來有點像家庭作業。

嘗試寫下連續輸出,每行一個,並尋找一個模式。看看你是否可以用輸入字符串切片來解釋該模式。然後查找切片的數字模式。

此外,請編輯您的問題,以引用您的字符串。不管輸出的字符串是用逗號還是用子串列表,你寫的東西都不是很清楚。

+1

這是更多的評論.. – miku 2009-12-15 13:54:40

0
number = 12345 

str_number = str(number) 

output = [] 
for index, part in enumerate(str_number[:-1]): 
    output_part = [] 
    for second_index, second_part in enumerate(str_number): 
     if index == second_index: 
      continue 
     elif index == second_index - 1: 
      output_part.append(int(part + second_part)) 
     else: 
      output_part.append(int(second_part)) 
    output.append(output_part) 

print output 

把它貼在函數定義中,放置一個「產量output_part」到位「output.append」線得到一個有用的迭代符。