"/1/2/3/".split("/") - PullRequest
       7

"/1/2/3/".split("/")

4 голосов
/ 29 июня 2010

Слишком жарко, и я, вероятно, отсталый.

>>> "/1/2/3/".split("/")
['', '1', '2', '3','']

Что с пустыми элементами в начале и в конце?

Редактировать: Спасибо всем, я ставлю этовызванная теплом мозговая недостаточность.Документы не совсем ясны, начиная с http://docs.python.org/library/stdtypes.html

"Return a list of the words in the string, using sep as the delimiter string"

Есть ли слово перед первым или после последнего "/"?

Ответы [ 7 ]

18 голосов
/ 29 июня 2010

Сравнить с:

"1/2/3".split("/")

Пустые элементы - это все еще элементы.

Вы можете использовать strip('/'), чтобы обрезать разделитель от начала / конца строки.

4 голосов
/ 29 июня 2010

Как говорит JLWarlow, у вас есть лишний символ '/' в строке. Вот еще один пример:

>>> "//2//3".split('/')
['', '', '2', '', '3']
2 голосов
/ 29 июня 2010

Косые черты - это разделители , поэтому перед первым и после последнего есть пустые элементы.

1 голос
/ 29 июня 2010

вы разделяете на /.У вас 4 /, поэтому в возвращаемом списке будет 5 элементов.

0 голосов
/ 29 июня 2010
[x for x in "//1///2/3///".split("/") if x != ""]
0 голосов
/ 29 июня 2010

Вы можете использовать strip(), чтобы избавиться от начальных и конечных полей ... Затем вызовите split(), как и раньше.

0 голосов
/ 29 июня 2010

Это именно то, что я ожидал, но мы все разные:)

Что бы вы ожидали от:: "1, 2,3" .split (",")?

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