python编程练习6

今天的题目:提取不重复的整数
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
首先对于实现逆序,有以下几个方法:

字符串逆序
1、
strA[::-1]

2、
#coding=utf-8   
strA = raw_input("请输入需要翻转的字符串:")  
order = []   
for i in strA:  
  order.append(i)  
order.reverse()   #将列表反转  
print ''.join(order)    #将list转换成字符串

我在一开始想到的方法就是通过将数字放入list然后进行逆序排序,set实现去重,其实是不可以的,因为使用set之后的顺序就打乱了。

参考了一下其他人的代码:

其中一个高手很好的解决了我的问题,而且代码很简单,对set集合排序,使用了原list的索引
a = str(input())[::-1]
print ''.join(sorted(set(a),key=a.index))

# 这个代码在网站上显示的内存占用为0,而第二段代码占用为140K
n=raw_input()
l=list(reversed(n))
result=[]
for i in l:
    if i not in result:
        result.append(i)
print("".join(result))

n=raw_input()
l=(reversed(n))
result=[]
for i in l:
    if i not in result:
        result.append(i)
print (''.join(result))

你可能感兴趣的:(python编程练习6)