[英]Given a list of values remove first occurrence
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)
的第一個出現值。 我對如何執行此操作感到有些困惑,因為我確實刪除了該值,但我也刪除了給定的其他值。 我只想刪除第一個給定的值。
很簡單,使用list.remove
。
>>> routes = [(3,2),(2,4),(5,5),(2,4)]
>>> routes.remove((2,4))
>>> routes
[(3, 2), (5, 5), (2, 4)]
如果這是您的代碼並且需要在循環中並且僅刪除一次,我會這樣做:
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´
這很簡單。 只需在循環中使用 break 語句即可。 這樣循環在第一次滿足 if 條件時就停止迭代。 使用 remove() 更好,但如果您想在代碼中使用循環。 這可能就是答案。
def drop dest(routes,location):
for i in range(len(routes)):
if routes[i] == location:
routes.remove(routes[i])
break
return routes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.