从列表中选择一个特定元素并将其附加到另一个列表中

2024-04-20 02:55:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表x和y

x = ['13', '77', '58', '792', '171']

y = []

我需要把x中以“7”开头的所有元素添加到y中

我试过这样的方法:

i = 0
for i in range(len(x)):
    if i[0] == '7':
        y.append(i[0])
        i += 1

Tags: 方法in元素列表forlenifrange
3条回答
In [16]: x = ['13', '77', '58', '792', '171']

In [17]: y = [i for i in x if i.startswith('7')]

In [18]: y
Out[18]: ['77', '792']

另一种简洁的方法是使用handy filter()函数,它接受一个返回“bool”的函数(在本例中是lambda函数)

x = ['13', '77', '58', '792', '171']
y = list(filter(lambda item: item.startswith('7'), x))

(这不会将元素附加到y,不确定是否需要。) 不是防弹的,但对你的例子有用。你知道吗

我选择了一个更详细的解决方案,这是正确的,应该很容易阅读。你知道吗

x = ['13', '77', '58', '792', '171']

y = []

for e in x:
    if e[0] == '7':
        y.append(e)

相关问题 更多 >