2024-09-28 18:56:28 发布
网友
我希望从列表中检索除一个值以外的所有值:
ll = ['a','b','c'] nob = [x for x in ll if x !='b']
有没有更简单,更具Python风格的方法来做这件事,也许是用布景?你知道吗
假设元素在列表中是唯一的,您可以使用list.index
list.index
i = l.index('b') l = ll[:i] +ll[i+1:]
另一种可能性是使用list.remove
list.remove
ll.remove('b') #notice that ll will change underneath here
不管你做什么,你总是要一步一步地浏览列表并比较每个元素,这对于长列表来说会很慢。但是,使用索引,您将获得第一个匹配元素的索引,并且可以单独使用它,从而避免单步遍历列表的其余部分。你知道吗
list_ = ['a', 'b', 'c'] list_.pop(1)
也可以使用.pop,并传递要从列表中弹出的索引列或名称。当您打印列表时,您将看到它存储了['a'、'c']和'b',并从中“弹出”。你知道吗
假设元素在列表中是唯一的,您可以使用
list.index
另一种可能性是使用
list.remove
不管你做什么,你总是要一步一步地浏览列表并比较每个元素,这对于长列表来说会很慢。但是,使用索引,您将获得第一个匹配元素的索引,并且可以单独使用它,从而避免单步遍历列表的其余部分。你知道吗
也可以使用.pop,并传递要从列表中弹出的索引列或名称。当您打印列表时,您将看到它存储了['a'、'c']和'b',并从中“弹出”。你知道吗
相关问题 更多 >
编程相关推荐