2024-04-20 02:55:16 发布
网友
我有两个列表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
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)
另一种简洁的方法是使用handy filter()函数,它接受一个返回“bool”的函数(在本例中是lambda函数)
(这不会将元素附加到y,不确定是否需要。) 不是防弹的,但对你的例子有用。你知道吗
我选择了一个更详细的解决方案,这是正确的,应该很容易阅读。你知道吗
相关问题 更多 >
编程相关推荐