给定一个值列表,删除第一个出现的

2024-04-20 16:08:29 发布

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

def drop dest(routes,location):
    for i in range(len(routes)):
        if routes[i] == location:
              routes.remove(routes[i])
    return routes

我使用的是一个给定列表的函数定义,
routes = [(3,2),(2,4),(5,5),(2,4)],并说我只想删除(2,4)的第一个出现值。我有点困惑如何做,因为我删除了值,但我也删除了其他给定的值。我只想删除第一个给定值。


Tags: 函数in列表forlenreturnif定义
2条回答

如果这是你的代码,需要在一个循环中,只删除一次,我会这样做:

def drop_dest(routes,location):
     flag = 1
     for i in range(len(routes)):
          if routes[i] == location and flag == 1:
              routes.remove(routes[i])
              flag = 0
     return routes´

很简单,使用list.remove

>>> routes = [(3,2),(2,4),(5,5),(2,4)]
>>> routes.remove((2,4))
>>> routes
[(3, 2), (5, 5), (2, 4)]

相关问题 更多 >