#coding=utf8
輸出數組中重復的數字
#1.對比判斷是否存在重復的數字,是則加入k;2.判斷要加入的數字在k是否已存在,若已存在則跳過
def sum(L):
for i in range(len(L)):
for j in range(i+1,len(L)):
if L[i] in k:
break
elif L[i]==L[j]:
k.append(L[i])
break
return k
倒序輸出函數,簡單的步長為-1, 即字符串的翻轉(常用)
def reverse(L):
for i in L[::-1]:
j.append(i)
return j
k=[]
j=[]
L = [1,2,33,45,6,2,33,4,4,5,33,6,4]
print sum(L)
print reverse(k)
倒序輸出數組中不重復的數字
k=[]
L=[12,3,33,33,4,2,4,3]
for i in set(L):
k.append(i)
k.reverse()
print k
倒序
方法一:通過遞歸實現
遞歸必須有終止條件
#遞歸的方式, 每次輸出一個字符;
#coding=utf8
#1.進棧a,b,c,d,e,f 2.當只剩最后一個字母時,返回f 3.接着依次退出e,d,c,b,a
L='abcdef'
def reverse(L):
if len(L)==1:
return L
else:
return reverse(L[1:])+L[0]
print reverse(L)
方法二:通過range()實現倒序
#簡單的步長為-1, 使用for循環, 從右至左輸出;
#range(start, end, step)
L='abcdef'
for i in range(len(L)-1,-1,-1): #從下標5開始到0,每次減1
print L[i]
方法三:通過交換前后字母的位置實現倒序
s='abcdef'
t=list(s)
l=len(s)
def reverse(s):
#下標5.4.3和0.1.2的數進行交換
for i,j in zip(range(l-1,0,-1),range(l/2)):
t[i],t[j] = t[j],t[i]
return ''.join(t)
print reverse(s)
