Python中‘类列表(list-like)’类型指什么?Pandas及字典相关疑问
关于Python中“类列表(list-like)”类型的说明及字典视图的归类
一、什么是“类列表(list-like)”类型?
在Python(尤其像Pandas这类数据处理库的语境里),类列表指的是能被迭代遍历、支持用len()获取元素数量,且可以被当成“元素集合”来处理的可迭代对象。简单说就是行为和列表类似,但不一定是严格意义上的list类型。
常见的类列表对象包括:
- 原生的列表(
list)、元组(tuple) - NumPy数组、Pandas的Series对象
- 集合(
set)也符合这类特征,不过Pandas单独将其作为参数选项列出
需要注意:字符串虽然是可迭代对象,但在Pandas这类库中通常不被视为类列表——因为字符串会被当成单个独立元素,而非字符组成的序列。
二、字典的keys()和values()是否属于类列表类型?
Python里字典的temp_dict.keys()返回dict_keys对象,temp_dict.values()返回dict_values对象,这俩都是字典的视图对象,完全符合类列表的定义:
- 可以直接遍历所有键/值
- 能用
len()获取键/值的数量
在Pandas的Series.isin()方法中,这两个对象可以直接作为values参数传入,Pandas会自动将它们转换为可处理的元素集合,所以属于该方法要求的类列表类型。
内容的提问来源于stack exchange,提问作者Yandle
相关产品推荐
相关产品推荐

