我在这里有一个奇怪的问题。
我正在使用iperf来测试设备和服务器之间的性能。我通过SSH获得了此测试的结果,然后我想使用已经创建的解析器解析为值。但是,在结果的顶部有几行(我读入行的对象),我不想进入解析器。我知道每次我需要从顶部删除多少行。有没有办法从列表中删除特定条目?在psuedo-python
中有类似的东西print list
["line1","line2","line3","line4"]
list = list.drop([0 - 1])
print list
["line3","line4"]
如果有人知道我可以使用的任何东西我真的很感谢你帮助我。我唯一能想到的就是编写一个循环来迭代并创建一个新的列表,只是放入我需要的东西。无论如何,不要超过!
迈克尔
答案 0 :(得分:1)
这是slice运算符的用途:
>>> before = [1,2,3,4]
>>> after = before[2:]
>>> print after
[3, 4]
在这种情况下,before[2:]
说'给我列表before
的元素,从元素2开始,一直到结束。'
(另外 - 不要使用list
或dict
之类的保留字作为变量名 - 这样做会导致混乱的错误)
答案 1 :(得分:1)
您可以使用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']
答案 2 :(得分:1)
切片:
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
作为变量名称。它会覆盖内置列表类。
答案 3 :(得分:1)
为什么不使用基本列表切片?类似的东西:
list = list[3:] #everything from the 3 position to the end
答案 4 :(得分:1)
你想要del那个
del list[:2]
答案 5 :(得分:1)
您可以使用“ddl”语句删除特定条目:
del(list[0]) # remove entry 0
del(list[0:2]) # remove entries 0 and 1