在Python 2.7.8中切片列表元素

时间:2014-10-22 21:32:03

标签: python list slice

我想删除包含此元素的列表中元素'//'之后的列表元素

my_list = ['a', '=', 'x+y', '//', 'moo']

if '//' in my_list:
        my_list = my_list[0:my_list.index('//')]
print my_list

通缉输出:

['a', '=', 'x+y']

为什么这不起作用?

3 个答案:

答案 0 :(得分:1)

答案:

for index,line in enumerate(input):
    if '//' in line:
        input[index] = line[0:line.index('//')]

答案 1 :(得分:0)

它不起作用的唯一原因是因为你在下面显示的行中使用了“mylist”,你没有定义它我想它应该是“my_list”并且会起作用:

my_list = my_list[0:mylist.index('//')]

答案 2 :(得分:0)

要从i切换到j,您需要[i:j+1]

>>> def split(my_list):
...  if '//' in my_list:
...      return my_list[0:my_list.index('//')+1]
...  else:
...      return my_list
... 
>>> split(my_list)
['a', '=', 'x+y', '//']