sort()の戻り値はNoneであるため、次のコードは機能しません。
def sorted_unique_items(a):
return list(set(a)).sort()
より良い解決策のためのアイデアはありますか?
sort()の戻り値はNoneであるため、次のコードは機能しません。
def sorted_unique_items(a):
return list(set(a)).sort()
より良い解決策のためのアイデアはありますか?
その単純なsorted()
方法を使用してください:
data = [10,5,46,4]
sorted_data = sorted(data)
print "Sorted Data ::::",sorted_data
上記の解決策は、string、integer、tupleなどのハッシュ可能なタイプでのみ機能しますが、listなどのハッシュ不可能なタイプでは機能しません。
たとえば、リストがある場合data= [[2],[1],[2],[4]]
ハッシュ不可能なタイプの最良の解決策は次のとおりです。
from itertools import izip, islice
values= [[2],[1],[2],[4]]
def sort_unique_unhashable(values):
values = sorted(values)
if not values:
return []
consecutive_pairs = izip(values, islice(values, 1, len(values)))
result = [a for (a, b) in consecutive_pairs if a != b]
result.append(values[-1])
return result
print sort_unique_unhashable(values)
2つのオプションがあります:
a = [2,34,55,1,22,11,22,55,1]
#First option using sorted and set.
sorted(set(a))
#second option using list and set.
list(set(a))