python --- 倒序輸出數組中重復的數字


#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)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM