2024-03-29 15:34:26 发布
网友
python字典理解是否可以从一个范围生成,即给定一个range(42)我想得到
range(42)
{ "key0": "value0", "key1": "value1", .... "key41", "value41" }
我知道可以通过列表理解间接完成,例如:
dict(("key" + str(i), "value" + str(i)) for i in range(42))
词典理解是否允许类似的结构
使用>;python3.5,用f字符串
>>> {f"key{i}": f"value{i}" for i in range(5)} {'key0': 'value0', 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'} >>>
sol = {'key{}'.format(i):'value{}'.format(i) for i in range(42)} print(sol) {'key0': 'value0', 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4', 'key5': 'value5', 'key6': 'value6', 'key7': 'value7', 'key8': 'value8', 'key9': 'value9', 'key10': 'value10', 'key11': 'value11', 'key12': 'value12', 'key13': 'value13', 'key14': 'value14', 'key15': 'value15', 'key16': 'value16', 'key17': 'value17', 'key18': 'value18', 'key19': 'value19', 'key20': 'value20', 'key21': 'value21', 'key22': 'value22', 'key23': 'value23', 'key24': 'value24', 'key25': 'value25', 'key26': 'value26', 'key27': 'value27', 'key28': 'value28', 'key29': 'value29', 'key30': 'value30', 'key31': 'value31', 'key32': 'value32', 'key33': 'value33', 'key34': 'value34', 'key35': 'value35', 'key36': 'value36', 'key37': 'value37', 'key38': 'value38', 'key39': 'value39', 'key40': 'value40', 'key41': 'value41'}
你很接近。一种方法是使用下面的“词典理解”。把它扩展到range(42)。您不需要在列表中显式地使用关键字dict。这个{ }是为你做的This pep网页提供了更多关于词典理解的解释
dict
{ }
ans = {"key" + str(i): "value" + str(i) for i in range(10)} # {'key0': 'value0', # 'key1': 'value1', # 'key2': 'value2', # 'key3': 'value3', # 'key4': 'value4', # 'key5': 'value5', # 'key6': 'value6', # 'key7': 'value7', # 'key8': 'value8', # 'key9': 'value9'}
使用>;python3.5,用f字符串
你很接近。一种方法是使用下面的“词典理解”。把它扩展到
range(42)
。您不需要在列表中显式地使用关键字dict
。这个{ }
是为你做的This pep网页提供了更多关于词典理解的解释相关问题 更多 >
编程相关推荐