[英]generate random numbers in python with quotes
要求: ["123456","578758",......"837872"]
帶引號的隨機 6 位數字列表
我試過的:
res = random.sample(range(10000, 999999), 45)
for i in range(5000):
print ('{"products":'+'"'+str(res)+'"'+'}')
print("\n")
我是 python 的新手,所以請就如何達到要求提出建議
[str(x) for x in random.sample(range(10000, 999999), 45)]
你的語法有很多問題。
第一期
傳遞給random.sample
的第二個參數指定您想要的樣本數。 如果你真的想要 6 個隨機樣本,語法應該是: random.sample(range(10000, 9999999), 6)
第 2 期
當您說for i in something
時,您是在指示循環遍歷something
中的每個項目。 在您的情況下,它是數字 0-4999。 這不是重點,因為您不需要循環來實現您的目標。
第 3 期
如上所述,您不需要為此使用 for 循環。 但是,如果您真的想這樣做,請像這樣構造它:
for i in res:
print(str(res))
一個更好的方法來做到這一點:
我將在肢體上使用 go 並假設由於您對要求的描述,您希望將這些值存儲在數組中。
如果是這種情況,我建議使用map 。
這看起來像:
list(map(str, random.sample(range(10000, 9999999), 6)))
如果要打印它們:
print(*list(map(str, random.sample(range(10000, 9999999), 6))), sep='\n')
輸出
list(map(str, random.sample(range(10000, 9999999), 6)))
OUTPUT>>> ['1696162', '394420', '9290621', '624215', '3367247', '2571869']
print(*list(map(str, random.sample(range(10000, 9999999), 6))), sep='\n')
OUTPUT>>>
5957168
446219
611119
6518976
4197232
3394411
筆記
打印字符串時,引號不會顯示在控制台中。 不過不用擔心。 因為我們將這 6 個值映射到字符串,所以引號用於所有意圖和目的。
打印語句開頭的星號告訴 Python 考慮所有值。
您也不必編寫第二條打印語句來在每個值之后創建一個新行。 這可以通過將sep
參數傳遞給print
並為其分配'\n'
的值來完成,例如: print(*something, sep='\n')
。 這將在新行上打印每個新值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.