-1
我的主要列表文件是CSV格式的,分隔符是逗號,並且具有最多50000的素數。該文件也具有隨機換行符。Python max() - 列表中的最大元素與CSV文件中的最大元素不一樣
問題:49999是文件中最大的數字,但primes_list
中的最大元素是9973!
[後來每Primes
列表中的每個素數都將轉換爲long
類型,並使用for循環中的值。 for prime in Primes
]
因此,我的問題是我在做什麼與下面的最小Python代碼錯了?
Python版本是2.76,在Linux Mint的運行17.
編輯 - 意見後修正代碼;
import csv
def factorise()
primes=[]
with open(primefile,'r') as csvfile:
primes_data=csvfile.read().replace('\n','').split(',')
primes=primes_data
print('Number of elements is: '+str(len(primes)))
print('First element is: '+primes[0])
print('Last element is: '+primes[-1])
csvfile.close()
print('Largest element is: '+max(primes))
輸出示例;
Number of elements is: 5134
First element is: 2
last element is: 49999
Largest element is: 9973
Primes_data = csvfile.read()代替( '\ n',')( '')使用Primes_data但素數= Prime_data不。這是你的代碼還是隻是一個錯字。注意多元化的差異。另外csvfile.close是一個函數,你只是簡單地引用內存中的位置。你需要調用它,csvfile.close() –
不確定你的意思是用雙引號。你應該避免用大小寫命名你的變量,這些只是變量,因爲這是一個類命名約定。您的代碼段中有很多問題。我會得到正確的Python約定,並修復你的錯誤,特別是如果這是你的源代碼。 –
更正。這兩個都是在這裏的拼寫錯誤。問題依然存在 –