Λ
    zh(  γ                  σt    d dl mZ d dlmZ d dlmZ d dlmZ erd dlmZ  edd¬«      Z G d	 d
ee   «      Z	y)ι    )Ϊannotations)ΪTYPE_CHECKING)ΪGeneric)ΪTypeVar)ΪExprΪExprTr   )Ϊboundc                  σ    e Zd ZddZddZy)ΪExprListNamespacec                σ    || _         y ©N)Ϊ_expr)ΪselfΪexprs     ϊP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/narwhals/expr_list.pyΪ__init__zExprListNamespace.__init__   s	    Ψ
σ    c                σj      j                   j                   fd j                   j                  «      S )u  Return the number of elements in each list.

        Null values count towards the total.

        Returns:
            A new expression.

        Examples:
            >>> import polars as pl
            >>> import narwhals as nw
            >>> df_native = pl.DataFrame({"a": [[1, 2], [3, 4, None], None, []]})
            >>> df = nw.from_native(df_native)
            >>> df.with_columns(a_len=nw.col("a").list.len())
            ββββββββββββββββββββββββββ
            |   Narwhals DataFrame   |
            |------------------------|
            |shape: (4, 2)           |
            |ββββββββββββββββ¬ββββββββ|
            |β a            β a_len β|
            |β ---          β ---   β|
            |β list[i64]    β u32   β|
            |ββββββββββββββββͺββββββββ‘|
            |β [1, 2]       β 2     β|
            |β [3, 4, null] β 3     β|
            |β null         β null  β|
            |β []           β 0     β|
            |ββββββββββββββββ΄ββββββββ|
            ββββββββββββββββββββββββββ
        c                σj    j                   j                  | «      j                  j                  «       S r   )r   Ϊ_to_compliant_exprΪlistΪlen)Ϊplxr   s    r   ϊ<lambda>z'ExprListNamespace.len.<locals>.<lambda>0   s%   ψ 

Χ5Ρ5°cΣ:Χ?Ρ?ΧCΡCΣE r   )r   Ϊ	__class__Ϊ	_metadata)r   s   `r   r   zExprListNamespace.len   s,   ψ π< zzΧ#Ρ#ΫEΨJJΧ Ρ σ
π 	
r   N)r   r   ΪreturnΪNone)r   r   )Ϊ__name__Ϊ
__module__Ϊ__qualname__r   r   © r   r   r   r      s    στ!
r   r   N)
Ϊ
__future__r   Ϊtypingr   r   r   Ϊnarwhals.exprr   r   r   r"   r   r   ϊ<module>r&      s3   πέ "ε  έ έ αέ"αvΤ&τ%
 υ %
r   