python - While loops list index out of range error. Strip off strings with double slases -


i wondering if me debug code. i'm curious why i'm getting list index out of range error. i'm trying add items in list , using number index list. in end, wanted strings in list cut off '//'.

word_list = [] = 0  while < len(word_list):     word_list.extend(['he//llo', 'ho//w yo//u', 'be///gone'])     += 1     word_list[i].strip('//')     print(i)  print(word_list[i]) print(i) 

you condition never true i < len(word_list), i 0 , length of list never enter loop. cannot index empty list print(word_list[i]) i being 0 gives indexerror.

your next problem adding more items list in loop if did start loop infinite list size grow faster i, example adding single string list initially:

word_list = ["foo"] = 0  # never greater len(word_list) loops infinitely while < len(word_list): # never enter not < len(wordlist)     print(i)     word_list.extend(['he//llo', 'ho//w yo//u', 'be///gone'])     += 1     word_list[i].strip('//')     print(i) 

you add 3 elements list, increase i 1 equal infinite loop. not sure goal using while not seem want.

if wanted use loop replace / , have strings in list initially:

word_list = ['he//llo', 'ho//w yo//u', 'be///gone'] in range(len(word_list)):     word_list[i] = word_list[i].replace("/","")     print(i) 

strings immutable need reassign value, cannot change string inplace, above can become list comp:

word_list = ['he//llo', 'ho//w yo//u', 'be///gone'] word_list[:] = [s.replace("/","") s in word_list] 

i used str.replace strip removes start , end of strings.


Comments

Popular posts from this blog

html - Outlook 2010 Anchor (url/address/link) -

javascript - Why does running this loop 9 times take 100x longer than running it 8 times? -

Getting gateway time-out Rails app with Nginx + Puma running on Digital Ocean -