課程
/后端開發
/Python
/初識Python
print?[x?for?x?in?range(100,1000)?if?str(x)[0]==str(x)[2]]
2015-03-25
源自:初識Python 10-4
正在回答
沒看出來有多精簡,而且100遍歷到1000得耗費多長時間~還不如:
print?[x*100+y*10+x?for?x?in?range(1,9)?for?y?in?range(1,9)]
不過感覺還是以字符形式組合快,雖然占資源較多:(不知道對不對,湊合看吧)
import?time,?sys t1=time.time() a=[x?for?x?in?range(100,1000)?if?str(x)[0]==str(x)[2]] t2=time.time() print?t2-t1 t1=time.time() b=[x+y+x?for?x?in?'123456789'?for?y?in?'0123456789'] t2=time.time() print?t2-t1 c=[x*100+y*10+x?for?x?in?range(1,9)?for?y?in?range(1,9)] t2=time.time() print?t2-t1 print?sys.getsizeof(a) print?len(a) print?sys.getsizeof(b) print?len(b) print?sys.getsizeof(c) print?len(c)
lingyi 提問者
勢無形
lymo 回復 勢無形
你這樣肯定是字符串快點啊,你都定義了字符串了,其他的還要通過range生成
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-03-25
沒看出來有多精簡,而且100遍歷到1000得耗費多長時間~還不如:
不過感覺還是以字符形式組合快,雖然占資源較多:(不知道對不對,湊合看吧)
2016-10-08
你這樣肯定是字符串快點啊,你都定義了字符串了,其他的還要通過range生成