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)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/cookieTxT/p/9656886.html