私は、複数のリストの内容を比較し、最小の変数を持つ簡単な方法を探しています。最も有名なリストに物を追加しますか? (Python)
次に、新しい変数をそのリストに追加するように設定します。
例:この中
list1 = [1,5,7,12,4,8]
list2 = [3,2,9,11,14,6,10]
list3 = [13,15,16]
は、私はそれが最も短くなると、それに新しい価値を追加するLIST3を見つけたいです。
私は、複数のリストの内容を比較し、最小の変数を持つ簡単な方法を探しています。最も有名なリストに物を追加しますか? (Python)
次に、新しい変数をそのリストに追加するように設定します。
例:この中
list1 = [1,5,7,12,4,8]
list2 = [3,2,9,11,14,6,10]
list3 = [13,15,16]
は、私はそれが最も短くなると、それに新しい価値を追加するLIST3を見つけたいです。
によりニシキヘビmin
、max
、およびsort
のkey
キーワード引数に、これは、Pythonで関数へ
min([list1, list2, list3..], key = len).append(item)
キー対応を行うことが非常に簡単です各要素に適用され、結果はmin
との両方で比較に使用されます。この場合、関数len
(listとtupleのようなシーケンスオブジェクトの長さと、__len__
を定義する任意のクラスを取得する)が使用されます。
min
。
key引数は、1引数の順序付け関数
キーがするために使用される1つの引数の関数を指定list.sort()から
はlist.sort()のために使用されるように指定します各リスト要素から比較キーを抽出します(たとえば、key = str.lower)。
たとえば、あなたと、それは私、私は必要なすべてを持って、より多くの私を指摘方向との回答が男性のための
>>> x = [11231]
>>> y = [1,2,3,4,5]
>>> z = [1,2,3,4,1,1]
>>> min([x,y,z], key = len)
[11231]
各リストのlen
を確認し、そのリストにappend
をチェックする小さな関数を書くことができます。
def add_to_shortest(lists, item):
min(lists, key = lambda i: len(i)).append(item)
>>> add_to_shortest([list1, list2, list3], 5)
>>> list3
[13, 15, 16, 5]
感謝。 –