我相信这能解决你的问题:
with open('list.txt', 'r') as f:
file = f.read()
f.close()
words = {}
for line in file.split('\n'):
letter, word = line.split(' ')
try:
words[letter] = words[letter] + [word]
except KeyError:
words.update({letter: [word]})
# id = 'A' or 'B' Etc.
for id, word in sorted(words.items()):
print('{0} {1}'.format(id, word))
输出:
A ['Apple', 'Orange', 'Peach']
B ['Apricot', 'Cherry']
C ['Banana', 'Blueberry']
它是做什么:
- 打开您
.txt
文件和读取它。完成后关闭它。
- 将文件分割成每一行,并遍历每一行。
- 拆分成每个字母和单词。然后将这些值放入
letter
和word
。
- 试图在
words
的字母键处添加word
值的列表。
- 如果失败(密钥不存在),它将其添加为新的密钥和值。
- 遍历各一个,并很好地打印出来:)
当你说数据集..你的意思是在一个文件或列表或? –
看看'itertools.groupby' https://docs.python.org/2/library/itertools.html#itertools.groupby – pna
它是一个excel文件。约30000个订单项 – LEJ