作者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://webptt.com/cn.aspx?n=bbs/Python/M.1554380751.A.FF3.html
1F:推 iphone2003: 一开始建List的方法改掉就好 04/04 20:46
2F:→ iphone2003: 用list comprehension建吧 04/04 20:47
3F:→ iphone2003: [[0 for _ in range(3)] for _ in range(5)] 04/04 20:50
4F:→ zo6596001: 你要不要用os.urandom自己转换?? 04/04 21:34
5F:→ CJhang: 对欸 直接把random()丢在原本建立0但的地方就好了... 04/04 22:39
6F:→ CJhang: list = [random.randint(0,1) for _ in range ()] 04/04 22:42
7F:推 germun: list第2维不能用*5来建 04/05 00:49
8F:→ CJhang: 对 我想也是因为会直接复制到一样的位置 结果就... 04/05 01:30