Как использовать list.remove (value) / list.pop (value) в python, используя косвенные значения в python - PullRequest
0 голосов
/ 09 ноября 2018

например у меня есть список

mylist=[[1,2],[5,8],[-9,2],[0,-9],[4,0],[0,-4],[-1,-1]]

удалить [-9,2] по

mylist.remove([-9,2])

Я хочу использовать .remove (), используя значение списка [2], равное [-9,2], как это

 mylist.remove(list[2])

но это не даст никакого значения, есть ли альтернатива этому, потому что я зацикливаюсь на значении индекса >> списка [значение, изменяющееся за цикл]. как я могу решить это?

это цикл

for p in range (len(mylist)):
      if mylist[p]==startpoint:
        continue
      if mylist[p]==nextpoint:
        continue
      thirdpoint=mylist[p]
      print ('the thirdpoint is:',thirdpoint)
      if orient(startpoint[0],startpoint[1],nextpoint[0],nextpoint[1],thirdpoint[0],thirdpoint[1])>0:
        print ('ok')
        print(mylist)
        print ('the thirdpoint is:',thirdpoint)
        templist=mylist.remove(mylist[p])
        print ('templist is',templist)

        if len(templist)==2:
          print('append nextpoint:',nextpoint)
          ppoint.append(nextpoint)

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Вам нужно

templist=mylist.pop(p)

вместо

templist=mylist.remove(mylist[p])

В следующий раз скопируйте и вставьте полный соответствующий код.

0 голосов
/ 09 ноября 2018

То, что вы ищете, вероятно, list.pop(2), поскольку оно удаляет элемент списка по заданному индексу.

Вы также можете использовать оператор del, вот его официальный документ: https://docs.python.org/3/tutorial/datastructures.html#the-del-statement

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...