100000条数据,为什么加入字典,达不到100000条
import randomlk = list()
for x in range(0, 1000000):
k = random.randint(100000, 100000000)
lk.append(k)
k = random.sample(lk, 100000)
print(len(k))
dInfo = {}
i = 0
for x in range(0, 100000):
v = []
name = "Jeapedu" + str(k)
year = random.randint(1990, 2000)
if x % 5 == 0:
race = 'Meng'
else:
race = 'Han'
if x % 3 == 0:
sex = 'F'
else:
sex = "M"
v =
dInfo.setdefault(k, v)
print(len(dInfo))
dk = list(dInfo.keys())
100000条数据,为什么加入字典,达不到100000条 因为字典是去重的,如果有重复就会过滤掉,不会加入。key值不能相同 k = random.sample(lk, 100000)应该不会有重复的呀? 本帖最后由 古月不傲 于 2021-1-8 23:45 编辑
字典中的key不能重复,相当于C++中的std::map
k = random.randint(100000, 100000000) 这条语句产生不同的随机数,可能会出现相同的数
dInfo.setdefault(k, v) 执行很明显了
当你熟悉一门语言其他语言就容易理解多了,我也只今天2倍速度视频快速跳看了下python import random
lk = list()
for x in range(0, 1000000):
這裏要加do...loop語句
(也不知道python裏面有沒有do...loop語句)
直到隨機生成的k(k = random.randint(100000, 100000000))不在lk裏面,
lk.append(k) 少的数据被去重了 因为达不到100000条 想要重复的列表,可以用list或是queue 如果两个数值相等 (例如 1 和 1.0) 则两者可以被用来索引同一字典条目 yebean 发表于 2021-1-8 23:28
k = random.sample(lk, 100000)应该不会有重复的呀?
只要随机,就肯定有几率重复,你每次运行得到的字典长度都不一样也能有力的去证明这一点。
页:
[1]