番号のリストがあり、一意の数字を含む番号を除外する必要があります。つまり、各数字は番号に1回だけ出現する可能性があります。
良い例:
- 985
- 58293.6
- 0.1246
否定的な例:
- 9585(5は2回発生します)
- 58293.666(6回発生)
- 0.12461(1は2回発生します)
どのようにそれをしますか?私自身の考えは、各数値を文字列に変換してから、文字列の文字で構成されたセットのサイズが文字列の長さと等しいかどうかを確認することです。そんな感じ:
def uniques(numbers):
for number in numbers:
str_number = str(number)
if len(set(str_number)) == len(str_number):
yield number
for i in uniques(xrange(1000, 1050)):
print i
1023
1024
1025
1026
1027
1028
1029
1032
1034
1035
1036
1037
1038
1039
1042
1043
1045
1046
1047
1048
1049
最初に整数を文字列に変換せずにそれを行う方法はありますか?