o
    έρh(  γ                   @  sd   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dZG d	d
 d
ee Z	dS )ι    )Ϊannotations)ΪTYPE_CHECKING)ΪGeneric)ΪTypeVar)ΪExprΪExprTr   )Ϊboundc                   @  s    e Zd Zd
ddZdddZd	S )ΪExprListNamespaceΪexprr   ΪreturnΪNonec                 C  s
   || _ d S ©N)Ϊ_expr)Ϊselfr
   © r   ϊF/var/www/vscode/kcb/lib/python3.10/site-packages/narwhals/expr_list.pyΪ__init__   s   
zExprListNamespace.__init__c                   s    j   fd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                   s    j  | ‘j ‘ S r   )r   Ϊ_to_compliant_exprΪlistΪlen)Ϊplx©r   r   r   Ϊ<lambda>0   s    z'ExprListNamespace.len.<locals>.<lambda>)r   Ϊ	__class__Ϊ	_metadatar   r   r   r   r      s   
ώzExprListNamespace.lenN)r
   r   r   r   )r   r   )Ϊ__name__Ϊ
__module__Ϊ__qualname__r   r   r   r   r   r   r	      s    
r	   N)
Ϊ
__future__r   Ϊtypingr   r   r   Ϊnarwhals.exprr   r   r	   r   r   r   r   Ϊ<module>   s    