Pythonで浅いリストをフラット化する方法は?
シンプルで簡単な解決策は、2つのネストされたforループを使用して、フラットリストのサブリストからアイテムを追加することです。
lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]] flatlist = [] for sublist in lst: for item in sublist: flatlist.append(item) print (flatlist)
よりコンパクトでPythonicなソリューションは、itertoolsモジュールのchain()関数を使用することです。
>>> lst =[[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]] >>> import itertools >>> flatlist = list(itertools.chain(*lst)) >>> flatlist [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]
-
Pythonでリストからアイテムをランダムに選択するにはどうすればよいですか?
Pythonの標準ライブラリにはランダムモジュールが含まれています。このモジュールには、メルセンヌツイスターアルゴリズムに基づくさまざまな疑似乱数ジェネレーターがあります。 モジュールには、シーケンスデータ型(文字列、リスト、またはタプル)からアイテムをランダムに選択するchoice()メソッドが含まれています >>> from random import choice >>> lst=[1,2,3,4,5] >>> choice(lst) 4 >>> choice(lst) 5 >>> choice(l
-
Pythonで文字列のリストを並べ替える方法は?
リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を