[英]Looping over lists in list
我有兩個帶數字的列表。
newlist = [506.5, 133.0, 11104.2]
totalcolumns = [9.2, 10024.5, 610.0, 1100.0]
我想循環遍歷兩個列表並以相同的方式格式化數字:
myformatlists = [newlist, totalcolumns]
for i in range(0,len(myformatlists)):
myformatlists[i] = ['{0:,}'.format(x) for x in myformatlists[i]]
myformatlists[i] = [regex.sub("\.0?$", "", x).replace(".", "_").replace(",", ".")
印花
print(str(myformatlists[i])
給出正確的新值
但
print(str(newlist))
print(str(totalcolumns))
仍然給出舊列表。
為什么我的for循環沒有將值分配給myformatlists [i]中的listname?
如何將for-loop的輸出分配給myformatlists中的列表?
myformatlists[i] = ['{0:,}'.format(x) for x in myformatlists[i]]
重新綁定myformatlists[i]
,它不會改變myformatlists
的原始項目。
您可以使用切片表示法執行myformatlists[i]
的就地更新:
myformatlists[i][:] = ['{0:,}'.format(x) for x in myformatlists[i]]
這將改變原始列表。
但請注意,由於列表理解不完整,重新編碼中存在x
未定義的問題:
myformatlists[i] = [regex.sub("\.0?$", "", x).replace(".", "_").replace(",", ".")
它應該是re.sub
,其余應該是:
myformatlists[i] = [re.sub("\.0?$", "", x).replace(".", "_").replace(",", ".") for x in myformatlists[i]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.