Что является различием между списком [-1:] [0] и список [len (список)-1]?

Звучит так, будто вы делаете много работы, манипулируя строкой, которая вызывает у вас ошибки. Я думаю, что было бы легче пойти с Regex, чтобы решить эту проблему.

Попробуйте этот код:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' Copy string to format from clipboard
    Dim strClipText As String = Clipboard.GetText
    Dim regex = New Regex("-{0,1}\d+(\.\d+|)")
    Dim latlon = String.Join(" ", regex.Matches(strClipText).OfType(Of Match)().Select(Function(m) m.Value))
    Clipboard.Clear()
    My.Computer.Clipboard.SetText(latlon)
End Sub
7
задан c0m4 25 March 2009 в 11:11
поделиться

3 ответа

если Вы используете разрезание [-1:], возвращенный список является мелкой копией, не ссылкой. таким образом [-1:] [0] изменяет новый список. [len (список)-1] является ссылкой для длительности объекта.

14
ответ дан 6 December 2019 в 06:51
поделиться

list[-1:] создает новый список. Получить то же поведение как list[len(list)-1] это должно было бы возвратить представление некоторого list, но поскольку я сказал, это создает новый временный список. Вы затем продолжаете редактировать временный список.

Так или иначе Вы знаете, что можно использовать list[-1] для того же самого, правильно?

9
ответ дан 6 December 2019 в 06:51
поделиться

Разрезание создает копию (мелкая копия). Это часто используется в качестве мелкой идиомы копии.

т.е.

list2 = list1[:]

эквивалентно

import copy
list2 = copy.copy(list1)
3
ответ дан 6 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: