2014-12-01 2 views
0

Я хочу знать, что этот код для функции .split() в python (простой способ был бы приятным). Я новичок в python и не мог понять это сам. Любая помощь?Что такое начальный код для функции string.split() в python?

Edit: вот что я до сих пор ...

stringInput = str(input("Give me a string: ")) 

myList = [] 

firstPointer = 0 

secondPointer = 0 

for x in stringInput: 

    secondPointer += 1 

    if (stringInput[firstPointer] == chr(32)):#ASCII 32 is the space character 

     stringInput +=1 

     myList = stringInput[firstPointer, secondPointer] 
+0

Я имею в виду String.Split() – KarambitFade

+0

https://github.com/python-git/python/blob/master/Objects/stringobject.c#L1520-L1597 –

+0

Я знаю, что это ISN» на самом деле вопрос связан, но ... вам не нужно иметь дело с указателями или слишком беспокоиться о персонажах ascii. Python был создан для приятного и удобного использования. Он заботится о грязных вещах для вас. Также он основан на c, поэтому некоторые из основных функций оптимизированы с помощью кода c, и вы хотите использовать базовую библиотеку python вместо воссоздания. – HashSplat

ответ

1

Я полагаю, вы делаете это в качестве учебного упражнения. После вы прочитали учебник, имитируя струнные методы - это один из способов узнать. .split - один из самых сложных.

s = '''This is a \tstring 
to be split''' 
sl = [] 
i = None # start of 'word' 

for j, c in enumerate(s + ' '): 
    if c.isspace(): 
     if i is not None: 
      sl.append(s[i:j]) 
      i = None 
    else: 
     if i is None: 
      i = j 
print(sl) 
# ['This', 'is', 'a', 'string', 'to', 'be', 'split'] 
Смежные вопросы