python2.7.8中的切片列表元素

2024-04-25 14:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

想要的输出:

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

为什么这样不行?你知道吗


Tags: in元素列表indexifmylistprint
3条回答

回答:

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

从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', '//']

它不起作用的唯一原因是,您在下面显示的行中使用了“mylist”,但您没有定义它,我猜它应该是“myu list”,并且会起作用:

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

相关问题 更多 >