[0]は、0という整数を要素とするリストです。
こういうものが分からないときは、pythonの対話モードで以下のように確認してください。
shell
1> python
2Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
3Type "help", "copyright", "credits" or "license" for more information.
4>>>
というようにpythonを起動します。
[0]を調べて見ましょう。
python
1>>> print(type([0]))
2<class 'list'>
3>>> print(list.__doc__)
4Built-in mutable sequence.
5
6If no argument is given, the constructor creates a new empty list.
7The argument must be an iterable if specified.
[0]の型はリストで、リストは可変な列であることがわかります。
value_listとして、適当なリストを設定して動かしてみましょう。
python
1>>> value_list = ['abc', '0', '1', 0, 1, 2, 3,]
2>>> print(value_list)
3['abc', '0', '1', 0, 1, 2, 3]
4>>> val = list(filter(lambda x : x not in [0], value_list))
5>>> print(val)
6['abc', '0', '1', 1, 2, 3]
これを見れば、この行が何をやっているのかがわかるかもしれません。
あと注意事項ですが、昔の人が書いたpythonプログラムはpython2系の場合が多いのですが、最近多くの人が使っているのはpython3系です。python2系とpython3系では互換がないので、どういうpythonを使っているかを明記して質問することをお勧めします。
pythonのバージョンを調べるには、以下のようにしてください。
shell
1> python -V
2Python 3.8.3
私は、いつも対話モードで関数を定義しています。
python
1>>> def method(value_list):
2... vals = list(filter(lambda x : x not in [0], value_list))
3... vals_int = list(map(int, vals))
4... if len(vals_int) >= 1:
5... ret = Counter(vals_int).most_common()[0][0]
6... return int(ret)
7... else:
8... return 0000
9...
10>>> print(type(method))
11<class 'function'>
ただし、途中に空白行が入っているとそこで入力が切れて、そのあとがエラーになるので、空白行を入れないようにしてください。