作者CJhang (Civil Jobs)
看板Python
標題[問題] random 用 for 與 list 重複
時間Thu Apr 4 20:25:48 2019
簡單的程式碼,用Python 3 Jupyter Notebook
import random
List = [[0] * 3 ]*5
for m in range(0,5):
for n in range(0,2):
List[m][n] = random.randint(0,1)
print(List)
得到
[[0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0]]
欸不是,為什麼這樣會重複啦
害我只能寫很長一條來切...不然分段都會每段重複...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.146.7
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1554380751.A.FF3.html
推 iphone2003: 一開始建List的方法改掉就好 04/04 20:46
→ iphone2003: 用list comprehension建吧 04/04 20:47
→ iphone2003: [[0 for _ in range(3)] for _ in range(5)] 04/04 20:50
→ zo6596001: 你要不要用os.urandom自己轉換?? 04/04 21:34
→ CJhang: 對欸 直接把random()丟在原本建立0但的地方就好了... 04/04 22:39
→ CJhang: list = [random.randint(0,1) for _ in range ()] 04/04 22:42
推 germun: list第2維不能用*5來建 04/05 00:49
→ CJhang: 對 我想也是因為會直接複製到一樣的位置 結果就... 04/05 01:30