def get_dictionary_word_list():
# with context manager assures us the
# file will be closed when leaving the scope
with open('dictionary.txt') as f:
# return the split results, which is all the words in the file.
return f.read().split()
要取回词典,您可以使用这个(处理换行符):
def get_dictionary_word_list():
# with context manager assures us the
# file will be closed when leaving the scope
with open('dictionary.txt') as f:
# create a dictionary object to return
result = dict()
for line in f.read().splitlines():
# split the line to a key - value.
k, v = line.split()
# add the key - value to the dictionary object
result[k] = v
return result
def get_dictionary_word_list():
# with context manager assures us the
# file will be closed when leaving the scope
with open('dictionary.txt') as f:
for line in f.read().splitlines():
# yield a tuple (key, value)
yield tuple(line.split())
第一个函数的输出示例:
xxxx:~$ cat dictionary.txt
a asd
b bsd
c csd
xxxx:~$ cat ld.py
#!/usr/bin/env python
def get_dictionary_word_list():
# with context manager assures us the
# file will be closed when leaving the scope
with open('dictionary.txt') as f:
# return the split results, which is all the words in the file.
return f.read().split()
print get_dictionary_word_list()
xxxx:~$ ./ld.py
['a', 'asd', 'b', 'bsd', 'c', 'csd']
如果在循环中使用return,则它在第一次迭代时返回,并且只返回第一个单词。
你想要的是一个单词的集合-或者更好的是,返回你从拆分单词中得到的数组。您可能需要清理换行符。
要取回词典,您可以使用这个(处理换行符):
要取回键、值项,可以使用类似的方法返回generator(请记住,只要生成器保持打开状态,文件将保持打开状态)。你可以修改它来只返回单词如果你想要的话,它非常简单:
第一个函数的输出示例:
尝试查看列表
这个怎么样:
相关问题 更多 >
编程相关推荐