Par*_*ran 0 python list ipython
我想从熊猫数据框中获取列标题列表.我还想删除列表中的一个不需要的元素.我尝试下面的代码,这是有效的.
features_list = list(data_panda.columns.values)
features_list.remove('email_address')
features_list
Run Code Online (Sandbox Code Playgroud)
输出:生成列表
但是,当我尝试在下面的单行中这样做时,我得不到任何输出.
features_list_1 = list(data_panda.columns.values).remove('email_address')
features_list_1
Run Code Online (Sandbox Code Playgroud)
输出:没什么
为什么?
我在Anaconda中使用Py2环境.
.remove()修改原始列表,它不会返回任何内容.这就是为什么features_list_1是None,因为当没有返回任何内容时,这是默认值.
如果您想在一行中执行此操作,则无法使用.remove(),而是创建具有列表推导的新列表.
features_list = [x for x in data_panda.columns.values if x != 'email_address']
Run Code Online (Sandbox Code Playgroud)
但不像remove,这将删除所有出现的'email_address',而remove只删除第一个.
以下将使用单个内衬.remove()(仅删除第一次出现)而不使用分号(因为那只是作弊).但请,请不要这样做......按正常方式写.
features_list = (lambda y=set(): [x for x in data_panda.columns.values if y or (x != 'email_address' or y.add(0))])()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |