作者: 機械伯爵 | |
日時: 2004/7/29(13:31) |
>のように一行で書けました。リストが大きくなるとマップを使ったほうが >良いかなという気がしないでもありませんが。で、前者は重複した要素を >そのままにしているので > >def uniq(l): > if l == []: > return [] > ret = [] > while (l != []): > x = l[0] > l = l[1:] > if x not in l: > ret.append(x) > return ret > >if __name__ == '__main__': > print uniq(["1", "1", "1", "3", "4", "5", "5"]) これって・・・ def u2(l): ret = [] for x in l: if not x in ret: ret.append(x) return ret で、ダメでしょうか? あるいは、 def u3(l): ret = {} for x in l: ret[x] = 0 return ret.keys() でも、多分出来ると思いますが・・・ /機械伯爵/暑さボケ気味・・・/