Python 我的6位数字代码有效吗?
我需要为单词列表生成所有6位数字 这个代码行吗Python 我的6位数字代码有效吗?,python,Python,我需要为单词列表生成所有6位数字 这个代码行吗 from random import randint list = [111111] print ('111111') while True: number = randint(100000,999999) if not number in list: list.extend(str(number)) print(number) 不要随机尝试数字,然后一次添加一个字符(查看append()而不是ex
from random import randint
list = [111111]
print ('111111')
while True:
number = randint(100000,999999)
if not number in list:
list.extend(str(number))
print(number)
不要随机尝试数字,然后一次添加一个字符(查看
append()
而不是extend()
),只需将range()
对象发送到list()
:
请注意,我将其命名为numbers
,而不是list
,以避免屏蔽list()
如果要将每个数字作为字符串,请将其映射到字符串:
numbers = list(map(str, range(100000, 1000000)))
你的方法可行,但速度会很慢。我建议使用列表理解来生成数字列表。如果您需要将其随机化,则随机模块中有一个shuffle方法
from random import shuffle
#if you wanted just numbers
x_all_numbers = [i for i in range(100000, 999999)]
#if you wanted strings of different numbers
x_str_numbers = [str(i) for i in range(100000, 999999)]
print(x_all_numbers[0:10])
shuffle(x_all_numbers)
print(x_all_numbers[0:10])
为了证明这是可行的,我将输出包括在内:
[100000, 100001, 100002, 100003, 100004, 100005, 100006, 100007, 100008, 100009]
[783780, 170070, 270425, 119709, 194098, 617834, 740368, 420370, 993130, 712673]
你能再解释一下你想在这里做什么吗。你想要所有6位数字的列表吗?
[100000, 100001, 100002, 100003, 100004, 100005, 100006, 100007, 100008, 100009]
[783780, 170070, 270425, 119709, 194098, 617834, 740368, 420370, 993130, 712673]