2014-03-30 102 views
2

当我运行下面的脚本strip()方法如何与append()方法一起使用?

WORD_URL = http://learncodethehardway.org/words.txt 
WORDS = [] 
for word in urlopen(WORD_URL).readline(): 
    WORDS.append(word.strip()) 
print WORDS 

蟒给出以下输出:

[ '一个', 'C', 'C', '0', 'U', 'N', ')'

我对strip()方法如何与append()方法一起工作感到困惑?此外readline()如何在这个脚本中起作用?

+0

不要'readline'做'readlines' – sshashank124

+0

@ sshashank124我编辑过那个...... – kartikeykant18

+0

好吧,它现在工作吗? – sshashank124

回答

2

strip()方法需要你有任何字符串,并删除尾部空格和换行符

>>> ' asdfadsf '.strip() 
'asdfadsf' 

>>> '\nblablabla\n'.strip() 
'blablabla' 

>>> a = [] 
>>> a.append(' \n asdf \n '.strip()) 
>>> a 
['asdf'] 

>>> words = [' a ', ' b ', '\nc\n'] 
>>> words = [word.strip() for word in words] 
>>> words 
['a', 'b', 'c'] 

更新回答更新问题

from urllib import urlopen 

WORD_URL = 'http://learncodethehardway.org/words.txt' 
WORDS = [] 
word_list = urlopen(WORD_URL) 
word_list = word_list.readlines() 
print word_list      # before strip() 
for word in word_list: 
    WORDS.append(word.strip()) 
print WORDS       # after strip(), so you get an idea of what strip() does 
+0

thnx非常多:) – kartikeykant18

1

str.strip方法实际上应用于word,它是一个字符串。由于strip会删除word周围的空格字符,因此会将结果字符串添加到WORDS

您可以使用列表理解(这是比正常循环更有效)这样

[word.strip() for word in urlopen(WORD_URL).readlines()] 
相关问题