作者busystudent (busystudent)
看板Python
標題[問題] list如何取前30%和後70%
時間Thu Apr 21 16:25:21 2016
各位好 有幾個問題想要詢問
我有個list如下所示,list中有多個物件,要如何自動取出30%和70%呢?
list = [‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’10’,]
用虛擬碼舉例
我希望第一次印出前30%
a = list * 30%
print a
1,2,3
第二次印出後70%
b = list * 70%
print b
4,5,6,7,8,9,10
4,5,6,7,8,9,10
4,5,6,7,8,9,10
我第一種想法是用set的方式來解,印出這十個東西的位置,可是做到一半忽然想到,假如是11個東西算30%又會出現四捨五入的問題就卡關了。
還請大家解答,謝謝。
p.s有網友這周末(4/22,23,24)有空嗎?想找個短期家教問問題,主要為討論Python 問題及解答,若有興趣請來信,謝謝
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.251.134
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1461227123.A.5C4.html
※ 編輯: busystudent (223.139.166.116), 04/21/2016 16:31:38
1F:推 iWRZ: 好像有len()可以算list長度04/21 16:31
2F:→ alibuda174: li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]04/21 16:34
3F:→ alibuda174: li[:int(len(li)*0.3)]; li[int(len(li)*0.3):]04/21 16:35
4F:推 tiefblau: a, b = l[:round(len(l)*0.7)], l[round(len(l)*0.7):]04/21 16:37
5F:→ tiefblau: 關鍵字 list slicing04/21 16:37
6F:→ tiefblau: round()會做四捨五入 int()會無條件捨去04/21 16:39
7F:→ tiefblau: round()會做四捨五入 int()會無條件捨去04/21 16:39
8F:→ busystudent: 感謝你04/21 16:39
※ 編輯: busystudent (223.139.166.116), 04/21/2016 16:55:19
9F:推 Yshuan: 幫你補充一下Set的順序不要拿來參考比較好 04/21 17:25
10F:→ busystudent: 可以說為什麼嗎? 04/21 17:28
11F:→ mikapauli: env dep 04/21 17:45
12F:→ freeunixer: set 又不是 list,又不排序.你怎麼照順序? 04/21 17:45
13F:→ busystudent: 謝謝你的說明 04/21 17:48
14F:推 checkIO: sorted python查查看 04/22 17:38