[英]Concatenate number into a list of text in Python
我正在嘗試使用 Python 將一些數字連接到文本列表中。這是我的代碼
import hashlib
def SHA1_hash(string):
hash_obj = hashlib.sha1(string.encode())
return(hash_obj.hexdigest())
with open("/Users/admin/Downloads/Project_files/dictionary.txt") as f:
n = 5
numtext_list = []
for i in range(0,n+1):
for j in f:
numtext = j.strip() + str(i)
numtext_list.append(numtext)
print(numtext_list)
但是,它只將第一個數字(即 0)連接到文件元素,output 列表如下所示:
'yellow0', 'four0', 'woods0', 'hanging0', 'marching0', 'looking0', 'rouse0', 'lord0', 'sagde0', 'meadows0', 'sinking0', 'foul0', 'bringing0', 'disturb0', 'uttering0', 'scholar0', 'wooden0'
雖然我希望它也有
'yellow1', 'yellow2', 'yellow3', 'yellow4', 'yellow5','four0',...
以及列表中的其他文本和數字組合。
請幫助我,我是 Python 的新手,所以如果這不是一個好問題或者我寫的關鍵字有誤,請原諒,非常感謝。
第一次執行for j in f:
時,您讀取了整個文件。 因此,當您到達for i
循環的下一個迭代時,沒有任何內容可讀,因此內部循環立即結束並且沒有附加任何內容。
交換循環順序,這樣您只需讀取文件一次。
for j in f:
word = j.strip()
for i in range(0, n+1):
numtext = f'{j}{i}'
numlist.append(numtext)
其他可能的解決方案:
f.readlines()
將文件讀入列表,然后對其進行循環。for j in f:
之前放置f.seek(0)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.