1. ホーム
  2. python

[解決済み] Python でリストを埋めるための組み込み関数

2022-06-05 17:04:50

質問

サイズ<.のリストがあります。 N というリストがあり、それをある値でサイズNまで埋め合わせたいのです。

確かに、以下のようなものが使えるのですが、何か見落としているものがあるはずだと感じています。

>>> N = 5
>>> a = [1]
>>> map(lambda x, y: y if x is None else x, a, ['']*N)
[1, '', '', '', '']

どのように解決するのですか?

a += [''] * (N - len(a))

を変更したくない場合、あるいは a をそのまま

new_a = a + [''] * (N - len(a))

リストのサブクラスを作って、好きなようにメソッドを呼び出すことができます。

class MyList(list):
    def ljust(self, n, fillvalue=''):
        return self + [fillvalue] * (n - len(self))

a = MyList(['1'])
b = a.ljust(5, '')