Python:从对象中删除特定行
我在这里有一个奇怪的问题。Python:从对象中删除特定行
我正在使用iperf来测试设备和服务器之间的性能。我通过SSH获得了此测试的结果,然后我想使用已经创建的解析器解析值。但是,结果顶部有几行(我读入行的对象),我不想进入解析器。我知道每次需要从顶部移除多少行。有什么办法从列表中删除特定的条目吗?像这样在伪巨蟒
print list
["line1","line2","line3","line4"]
list = list.drop([0 - 1])
print list
["line3","line4"]
如果有人知道任何我可以使用我真的很感激你帮我。我能想到的唯一的事情就是编写一个循环来遍历并创建一个新列表,仅仅放入我需要的东西。无论如何,thanlks!
迈克尔
片:
l = ["line1","line2","line3","line4"]
print l[2:] # print from 2nd element (including) onwards
["line3","line4"]
片语法[from(included):to(excluded):step]
。每个部分都是可选的。因此,您可以编写[:]
以获取整个列表(或针对该问题的任何迭代 - string
和tuple
作为内置插件的示例)。您也可以使用负数索引,因此[:-2]
表示从开始到倒数第二个元素。你也可以倒退,[::-1]
意味着全部,但以相反的顺序。
此外,不要使用list
作为变量名称。它覆盖了内置的列表类。
这是slice运营商是什么:
>>> before = [1,2,3,4]
>>> after = before[2:]
>>> print after
[3, 4]
在这种情况下,before[2:]
说:“给我的名单before
,的元素开始元件2和一路直到结束。'
(也 - 不使用保留字像list
或dict
作为变量名 - 这样做可能会导致混淆错误)
感谢,名单是例如仅 – 2012-03-16 14:58:38
您可以使用slices为:
>>> l = ["line1","line2","line3","line4"] # don't use "list" as variable name, it's a built-in.
>>> print l[2:] # to discard items up to some point, specify a starting index and no stop point.
['line3', 'line4']
>>> print l[:1] + l[3:] # to drop items "in the middle", join two slices.
['line1', 'line4']
为什么不使用基本列表片?是这样的:
list = list[3:] #everything from the 3 position to the end
你想删除该
del list[:2]
您可以使用 “德尔” statment删除特定条目:
del(list[0]) # remove entry 0
del(list[0:2]) # remove entries 0 and 1
别不用担心,这只是例子而已。谢谢 – 2012-03-16 14:58:00