我有一個文件,我想在循環中運行。我的文件看起來像這樣:如何從文件中獲取列表以更改爲字典
Hello Hello
A B C D
A B C D
B C D A
B C D A
C D A B
B C D A
Hello Bye
A C D B
C D A B
A C D B
D C A B
和我只通過再循環運行一個循環,空白行。
它應該返回:
{(A, C, D, B): 2, (C, D, A, b):1, (D, C, A, B):1}
,是有辦法,我可以叫「所有」,這將增加所有排列?
我想這樣做,而不使用任何導入。
到目前爲止,我的功能看起來是這樣的:
# input_word = Hello or Bye
def file_to_dict (file, input_word):
new_dict = {}
new_list = []
flag = False
for line in f:
if 'Hello' in line:
continue
if not line.strip():
continue
lElts = tuple(line.split(' '))
if lElts in dRet:
dRet[lElts] += 1
else:
dRet[lElts] = 1
return dRet
是否有繼續的方法嗎?
而現在這給了我一個錯誤說:
ValueError: I/O operation on closed file
那麼,有什麼不妥呢?給予預期的vs實際輸出 – Sheena
它給了我錯誤..我似乎無法採取什麼在這個文件:( – user1853961
有什麼錯誤?複製粘貼是你的朋友。請在提問時請包括儘可能多的細節。格式化你的代碼!在Python中格式化很重要! – Sheena