[问题] 已解答 random 用 for 与 list 重复

楼主: CJhang (Civil Jobs)   2019-04-04 20:25:48
简单的程式码,用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]]
欸不是,为什么这样会重复啦
害我只能写很长一条来切...不然分段都会每段重复...
作者: iphone2003 (307)   2019-04-04 20:46:00
一开始建List的方法改掉就好用list comprehension建吧[[0 for _ in range(3)] for _ in range(5)]
作者: zo6596001 (超帅肥宅)   2019-04-04 21:34:00
你要不要用os.urandom自己转换??
楼主: CJhang (Civil Jobs)   2019-04-04 22:39:00
对欸 直接把random()丢在原本建立0但的地方就好了...list = [random.randint(0,1) for _ in range ()]
作者: germun (ger)   2019-04-05 00:49:00
list第2维不能用*5来建
楼主: CJhang (Civil Jobs)   2019-04-05 01:30:00
对 我想也是因为会直接复制到一样的位置 结果就...

Links booklink

Contact Us: admin [ a t ] ucptt.com