Python:创建列表,其中包含数字1-1000000,为什么Pycharm控制台结果显示不完整?
目錄
一、問題描述(尋找解決方法的同學直接看“標題二”)?
二、解決辦法
一、問題描述(尋找解決方法的同學直接看“標題二”)?
? ? ? ?在學習Python過程中遇到一個這樣的問題,也算是一個小BUG吧。題目大意是這樣的:創建列表,要求其中包含數字1-1000000(一百萬),并輸出所有數字。同時,使用min(),max(),sum()函數對這個列表進行處理。看到這個題目的時候,覺得這也太簡單了吧,直接range()和list()函數嵌套,該輸出輸出,該計算計算不就解決了嘛!但事實并非如此:
#made by Jeffery #date 2020.10.16 numbers=list(range(1,1000001)) for number in numbers:print(number)此情此景,我就想說一句“神奇!”,怎么會這樣呢?隨后我從以下幾個方面分析問題?:
1、是不是range()函數生成數字的范圍有限度,不能超過1百萬?
2、是不是list()函數轉換數字范圍的時候有范圍限制?
3、是不是什么東西不夠,不能存下這100萬個數字?
············
二、解決辦法
隨后,我在網上查閱了相關資料,起初發現大家編碼方式和我的不盡相同,但是似乎沒有遇到和我一樣的問題,所以我大膽猜測估計是什么東西存不下這么多數字才導致這個BUG產生的。經過我5min的調查后發現,是Pycharm軟件的控制臺周期緩沖區大小默認是1024KB,存不下這么多數(64位Python,數字“0”占用內存24個字節,數字“1”占用內存28個字節)如圖所示:
?所以,我們人為將“1024”改為“10240”,這樣就可以順利將所有展示,如圖所示:
而“標題一”中所提到的問題解決代碼如下:
#made by Jeffery #10.17 numbers=list(range(1,1000001)) #創建一個包含數字1-1000000的列表 print(min(numbers))# 輸出列表中的最小值 print(max(numbers))#輸出列表中的最大值 print(sum(numbers))#對列表中的數字求和結果如下:
總結
以上是生活随笔為你收集整理的Python:创建列表,其中包含数字1-1000000,为什么Pycharm控制台结果显示不完整?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淮北到涡阳汽车时刻表查询驾驶证可以买车票
- 下一篇: C语言过时了?你在做梦?