在列表中添加元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在列表中添加元素相关的知识,希望对你有一定的参考价值。
参考技术A 你可能出于众多原因要在列表中添加新元素,例如,你可能希望游戏中出现新的外星人、添加可视化数据或给网站添加新注册的用户。Python提供了多种在既有列表中添加新数据的方式。
1.在列表末尾添加元素
在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。给列表附加元素时,它将添加到列表末尾。继续使用前一个示例中的列表,在其末尾添加新元素'ducati':
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati') ❶
print(motorcycles)
方法append()将元素'ducati'添加到了列表末尾(见❶ ),而不影响列表中的其他所有元素:
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']
方法append()让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的append()语句添加元素。下面来创建一个空列表,再在其中添加元素'honda'、'yamaha'和'suzuki':
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
最终的列表与前述示例中的列表完全相同:
['honda', 'yamaha', 'suzuki']
这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。为控制用户,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。
2.在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati') ❶
print(motorcycles)
在这个示例中,值'ducati'被插入到了列表开头(见❶);方法insert()在索引0处添加空间,并将值'ducati'存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置:
['ducati', 'honda', 'yamaha', 'suzuki']
在列表的熊猫列中添加特定的列表元素[重复]
【中文标题】在列表的熊猫列中添加特定的列表元素[重复]【英文标题】:Adding specific list-elements in a pandas column of lists [duplicate] 【发布时间】:2020-03-13 16:29:14 【问题描述】:我有一个 pandas 数据框,其中一列由列表组成:
import pandas as pd
df = pd.DataFrame("a" : [[1,2,3], [4,5,6], [7,8,9]])
我想添加,例如,每个列表的第一个和最后一个索引。为此我使用apply
:
df['a'].apply(lambda x: x[0] + x[-1])
这单独作用于每一行,如果数据框很大,这可能会非常密集。有没有办法向量化这个操作?
【问题讨论】:
使用df.iloc[:, 0]+df.iloc[:, -1]
@jezrael 请参阅 OP。抱歉,我在提出问题时(又犯了一个错误!)。现在应该是正确的。
【参考方案1】:
使用DataFrame.iloc
:
df.iloc[0]+df.iloc[-1]
a 4
b 10
c 16
dtype: int64
【讨论】:
谢谢。我在我的 OP 中非常不清楚,对此我深表歉意 - 我需要axis=1
(请参阅更新后的帖子)以上是关于在列表中添加元素的主要内容,如果未能解决你的问题,请参考以下文章