diff --git a/numba/np/arraymath.py b/numba/np/arraymath.py
index be264303d..c7fa7c284 100644
--- a/numba/np/arraymath.py
+++ b/numba/np/arraymath.py
@@ -3877,6 +3877,20 @@ def np_asarray(a, dtype=None):
 
         def impl(a, dtype=None):
             return np.array(a, ty)
+    elif isinstance(a, types.containers.ListType):
+        if not isinstance(a.dtype, (types.Number, types.Boolean)):
+            raise TypingError(
+                "asarray support for List is limited "
+                "to Boolean and Number types")
+
+        target_dtype = a.dtype if is_nonelike(dtype) else dtype
+
+        def impl(a, dtype=None):
+            l = len(a)
+            ret = np.empty(l, dtype=target_dtype)
+            for i, v in enumerate(a):
+                ret[i] = v
+            return ret
 
     return impl
 
diff --git a/numba/np/numpy_support.py b/numba/np/numpy_support.py
index 741cb50d4..9cd7a111f 100644
--- a/numba/np/numpy_support.py
+++ b/numba/np/numpy_support.py
@@ -599,5 +599,8 @@ def type_can_asarray(arr):
     """ Returns True if the type of 'arr' is supported by the Numba `np.asarray`
     implementation, False otherwise.
     """
-    ok = (types.Array, types.Sequence, types.Tuple, types.Number, types.Boolean)
+
+    ok = (types.Array, types.Sequence, types.Tuple,
+          types.Number, types.Boolean, types.containers.ListType)
+
     return isinstance(arr, ok)

np.asarray sometimes doesn't work on List
```python
Python 3.7.6 (default, Jan  8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> from numba import njit
>>> from numba.typed import List
>>> @njit
... def lt(a, b):
...   return np.asarray(a) <= np.asarray(b)
...
>>> l1 = List()
>>> l1.append(4)
>>> l1.append(2)
>>> l1.append(1)
>>>
>>> l2 = List()
>>> l2.append(2)
>>> l2.append(2)
>>> l2.append(2)
>>>
>>> print(lt(l1, l2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hameerabbasi/miniconda3/envs/sparse/lib/python3.7/site-packages/numba/dispatcher.py", line 401, in _compile_for_args
    error_rewrite(e, 'typing')
  File "/Users/hameerabbasi/miniconda3/envs/sparse/lib/python3.7/site-packages/numba/dispatcher.py", line 344, in error_rewrite
    reraise(type(e), e, None)
  File "/Users/hameerabbasi/miniconda3/envs/sparse/lib/python3.7/site-packages/numba/six.py", line 668, in reraise
    raise value.with_traceback(tb)
numba.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function asarray at 0x7f8df02a0440>) with argument(s) of type(s): (ListType[int64])
 * parameterized
In definition 0:
    All templates rejected with literals.
In definition 1:
    All templates rejected without literals.
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function asarray at 0x7f8df02a0440>)
[2] During: typing of call at <stdin> (3)


File "<stdin>", line 3:
<source missing, REPL/exec in use?>

>>> import numba
>>> numba.__version__
'0.48.0'
```
diff --git a/numba/tests/test_np_functions.py b/numba/tests/test_np_functions.py
index 64ffc1c9f..344339be0 100644
--- a/numba/tests/test_np_functions.py
+++ b/numba/tests/test_np_functions.py
@@ -10,6 +10,7 @@ import numpy as np
 from numba.core.compiler import Flags
 from numba import jit, njit, typeof
 from numba.core import types
+from numba.typed import List, Dict
 from numba.np.numpy_support import numpy_version
 from numba.core.errors import TypingError
 from numba.core.config import IS_WIN32, IS_32BITS
@@ -2911,6 +2912,17 @@ class TestNPFunctions(MemoryLeakMixin, TestCase):
             yield np.arange(12).reshape(3, 4)
             yield np.arange(12).reshape(3, 4).T
 
+            # Test cases for `numba.typed.List`
+            def make_list(values):
+                a = List()
+                for i in values:
+                    a.append(i)
+                return a
+            yield make_list((1, 2, 3))
+            yield make_list((1.0, 2.0, 3.0))
+            yield make_list((1j, 2j, 3j))
+            yield make_list((True, False, True))
+
         # used to check that if the input is already an array and the dtype is
         # the same as that of the input/omitted then the array itself is
         # returned.
@@ -2950,6 +2962,48 @@ class TestNPFunctions(MemoryLeakMixin, TestCase):
                 else:
                     check_pass_through(cfunc, True, params)
 
+    def test_asarray_rejects_List_with_illegal_dtype(self):
+        self.disable_leak_check()
+        cfunc = jit(nopython=True)(asarray)
+
+        def test_reject(alist):
+            with self.assertRaises(TypingError) as e:
+                cfunc(alist)
+            self.assertIn(
+                "asarray support for List is limited "
+                "to Boolean and Number types",
+                str(e.exception))
+
+        def make_none_typed_list():
+            l = List()
+            l.append(None)
+            return l
+
+        def make_nested_list():
+            l = List()
+            m = List()
+            m.append(1)
+            l.append(m)
+            return l
+
+        def make_nested_list_with_dict():
+            l = List()
+            d = Dict()
+            d[1] = "a"
+            l.append(d)
+            return l
+
+        def make_unicode_list():
+            l = List()
+            for i in ("a", "bc", "def"):
+                l.append(i)
+            return l
+
+        test_reject(make_none_typed_list())
+        test_reject(make_nested_list())
+        test_reject(make_nested_list_with_dict())
+        test_reject(make_unicode_list())
+
     def test_repeat(self):
         # np.repeat(a, repeats)
         np_pyfunc = np_repeat

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc g++
3.7
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
certifi @ file:///croot/certifi_1671487769961/work/certifi
exceptiongroup==1.2.2
importlib-metadata==6.7.0
iniconfig==2.0.0
llvmlite==0.31.0
-e git+https://github.com/numba/numba.git@fd8c232bb37a1945e8dc8becef9fe05fdd78c4cf#egg=numba
numpy==1.21.6
packaging==24.0
pluggy==1.2.0
pytest==7.4.4
tomli==2.0.1
typing_extensions==4.7.1
zipp==3.15.0

name: numba
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - argparse==1.4.0
      - exceptiongroup==1.2.2
      - importlib-metadata==6.7.0
      - iniconfig==2.0.0
      - llvmlite==0.31.0
      - numpy==1.21.6
      - packaging==24.0
      - pluggy==1.2.0
      - pytest==7.4.4
      - tomli==2.0.1
      - typing-extensions==4.7.1
      - zipp==3.15.0
prefix: /opt/conda/envs/numba

numba/tests/test_np_functions.py::TestNPFunctions::test_asarray numba/tests/test_np_functions.py::TestNPFunctions::test_asarray_rejects_List_with_illegal_dtype
numba/tests/test_np_functions.py::TestNPFunctions::test_windowing numba/tests/test_np_functions.py::TestNPFunctions::test_ediff1d_edge_cases
numba/tests/test_np_functions.py::TestNPFunctions::test_angle numba/tests/test_np_functions.py::TestNPFunctions::test_array_equal numba/tests/test_np_functions.py::TestNPFunctions::test_array_equal_exception numba/tests/test_np_functions.py::TestNPFunctions::test_bincount1 numba/tests/test_np_functions.py::TestNPFunctions::test_bincount1_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_bincount2 numba/tests/test_np_functions.py::TestNPFunctions::test_bincount2_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_convolve numba/tests/test_np_functions.py::TestNPFunctions::test_convolve_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_correlate numba/tests/test_np_functions.py::TestNPFunctions::test_correlate_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_count_nonzero numba/tests/test_np_functions.py::TestNPFunctions::test_cross numba/tests/test_np_functions.py::TestNPFunctions::test_cross2d numba/tests/test_np_functions.py::TestNPFunctions::test_cross2d_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_cross_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_delete numba/tests/test_np_functions.py::TestNPFunctions::test_delete_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_diff1 numba/tests/test_np_functions.py::TestNPFunctions::test_diff2 numba/tests/test_np_functions.py::TestNPFunctions::test_diff2_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_digitize numba/tests/test_np_functions.py::TestNPFunctions::test_ediff1d_basic numba/tests/test_np_functions.py::TestNPFunctions::test_ediff1d_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_extract_basic numba/tests/test_np_functions.py::TestNPFunctions::test_extract_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_histogram numba/tests/test_np_functions.py::TestNPFunctions::test_interp_basic numba/tests/test_np_functions.py::TestNPFunctions::test_interp_complex_stress_tests numba/tests/test_np_functions.py::TestNPFunctions::test_interp_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_interp_float_precision_handled_per_numpy numba/tests/test_np_functions.py::TestNPFunctions::test_interp_non_finite_calibration numba/tests/test_np_functions.py::TestNPFunctions::test_interp_stress_tests numba/tests/test_np_functions.py::TestNPFunctions::test_interp_supplemental_complex_tests numba/tests/test_np_functions.py::TestNPFunctions::test_interp_supplemental_tests numba/tests/test_np_functions.py::TestNPFunctions::test_np_append numba/tests/test_np_functions.py::TestNPFunctions::test_np_append_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_np_trapz_basic numba/tests/test_np_functions.py::TestNPFunctions::test_np_trapz_dx_basic numba/tests/test_np_functions.py::TestNPFunctions::test_np_trapz_x_basic numba/tests/test_np_functions.py::TestNPFunctions::test_np_trapz_x_dx_basic numba/tests/test_np_functions.py::TestNPFunctions::test_np_trapz_x_dx_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_partition_basic numba/tests/test_np_functions.py::TestNPFunctions::test_partition_boolean_inputs numba/tests/test_np_functions.py::TestNPFunctions::test_partition_empty_array numba/tests/test_np_functions.py::TestNPFunctions::test_partition_exception_a_not_array_like numba/tests/test_np_functions.py::TestNPFunctions::test_partition_exception_a_zero_dim numba/tests/test_np_functions.py::TestNPFunctions::test_partition_exception_kth_multi_dimensional numba/tests/test_np_functions.py::TestNPFunctions::test_partition_exception_non_integer_kth numba/tests/test_np_functions.py::TestNPFunctions::test_partition_exception_out_of_range numba/tests/test_np_functions.py::TestNPFunctions::test_partition_fuzz numba/tests/test_np_functions.py::TestNPFunctions::test_partition_iterative numba/tests/test_np_functions.py::TestNPFunctions::test_partition_multi_dim numba/tests/test_np_functions.py::TestNPFunctions::test_repeat numba/tests/test_np_functions.py::TestNPFunctions::test_repeat_exception numba/tests/test_np_functions.py::TestNPFunctions::test_roll_basic numba/tests/test_np_functions.py::TestNPFunctions::test_roll_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_searchsorted numba/tests/test_np_functions.py::TestNPFunctions::test_select numba/tests/test_np_functions.py::TestNPFunctions::test_select_exception numba/tests/test_np_functions.py::TestNPFunctions::test_sinc numba/tests/test_np_functions.py::TestNPFunctions::test_tri_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_tri_n_basic numba/tests/test_np_functions.py::TestNPFunctions::test_tri_n_k_basic numba/tests/test_np_functions.py::TestNPFunctions::test_tri_n_m_basic numba/tests/test_np_functions.py::TestNPFunctions::test_tri_n_m_k_basic numba/tests/test_np_functions.py::TestNPFunctions::test_tril_basic numba/tests/test_np_functions.py::TestNPFunctions::test_tril_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_tril_indices numba/tests/test_np_functions.py::TestNPFunctions::test_tril_indices_from numba/tests/test_np_functions.py::TestNPFunctions::test_triu_basic numba/tests/test_np_functions.py::TestNPFunctions::test_triu_exceptions numba/tests/test_np_functions.py::TestNPFunctions::test_triu_indices numba/tests/test_np_functions.py::TestNPFunctions::test_triu_indices_from numba/tests/test_np_functions.py::TestNPFunctions::test_vander_basic numba/tests/test_np_functions.py::TestNPFunctions::test_vander_exceptions numba/tests/test_np_functions.py::TestNPMachineParameters::test_MachAr numba/tests/test_np_functions.py::TestNPMachineParameters::test_finfo numba/tests/test_np_functions.py::TestNPMachineParameters::test_iinfo
numba/np/numpy_support.py numba/np/arraymath.py
numba/np/numpy_support.py numba/np/arraymath.py