Python:将字母加序号作为值添加到字典键

时间:2018-11-26 23:19:32

标签: python dictionary

我想创建一个这样的字典:

{'cat': ['anm_0', 'anm_1', 'anm_2', ... 'anm_99'],
'dog': ['anm_100', 'anm_101', 'anm_102', ... 'anm_199'],
'snake': ['anm_200', 'anm_201', 'anm_202', ... 'anm_299']}

我试图通过这种方式手动定义它们:

anmdict = {}
anmdict['cat'] = "anm_" + str((list(range(0,100))))

但是输出:

{'cat': 'anm_[0, 1, 2, 3, 4, 5, ...]'}

而不是将anm_0anm_1等作为不同值的输出。

2 个答案:

答案 0 :(得分:1)

您可以使用range

_k = iter(['cat', 'dog', 'snake'])
new_d = {next(_k):[f'anm_{c}' for c in range(i, i+100)] for i in range(0, 300, 100)}

输出:

{'cat': ['anm_0', 'anm_1', 'anm_2', 'anm_3', 'anm_4', 'anm_5', 'anm_6', 'anm_7', 'anm_8', 'anm_9', 'anm_10', 'anm_11', 'anm_12', 'anm_13', 'anm_14', 'anm_15', 'anm_16', 'anm_17', 'anm_18', 'anm_19', 'anm_20', 'anm_21', 'anm_22', 'anm_23', 'anm_24', 'anm_25', 'anm_26', 'anm_27', 'anm_28', 'anm_29', 'anm_30', 'anm_31', 'anm_32', 'anm_33', 'anm_34', 'anm_35', 'anm_36', 'anm_37', 'anm_38', 'anm_39', 'anm_40', 'anm_41', 'anm_42', 'anm_43', 'anm_44', 'anm_45', 'anm_46', 'anm_47', 'anm_48', 'anm_49', 'anm_50', 'anm_51', 'anm_52', 'anm_53', 'anm_54', 'anm_55', 'anm_56', 'anm_57', 'anm_58', 'anm_59', 'anm_60', 'anm_61', 'anm_62', 'anm_63', 'anm_64', 'anm_65', 'anm_66', 'anm_67', 'anm_68', 'anm_69', 'anm_70', 'anm_71', 'anm_72', 'anm_73', 'anm_74', 'anm_75', 'anm_76', 'anm_77', 'anm_78', 'anm_79', 'anm_80', 'anm_81', 'anm_82', 'anm_83', 'anm_84', 'anm_85', 'anm_86', 'anm_87', 'anm_88', 'anm_89', 'anm_90', 'anm_91', 'anm_92', 'anm_93', 'anm_94', 'anm_95', 'anm_96', 'anm_97', 'anm_98', 'anm_99'], 'dog': ['anm_100', 'anm_101', 'anm_102', 'anm_103', 'anm_104', 'anm_105', 'anm_106', 'anm_107', 'anm_108', 'anm_109', 'anm_110', 'anm_111', 'anm_112', 'anm_113', 'anm_114', 'anm_115', 'anm_116', 'anm_117', 'anm_118', 'anm_119', 'anm_120', 'anm_121', 'anm_122', 'anm_123', 'anm_124', 'anm_125', 'anm_126', 'anm_127', 'anm_128', 'anm_129', 'anm_130', 'anm_131', 'anm_132', 'anm_133', 'anm_134', 'anm_135', 'anm_136', 'anm_137', 'anm_138', 'anm_139', 'anm_140', 'anm_141', 'anm_142', 'anm_143', 'anm_144', 'anm_145', 'anm_146', 'anm_147', 'anm_148', 'anm_149', 'anm_150', 'anm_151', 'anm_152', 'anm_153', 'anm_154', 'anm_155', 'anm_156', 'anm_157', 'anm_158', 'anm_159', 'anm_160', 'anm_161', 'anm_162', 'anm_163', 'anm_164', 'anm_165', 'anm_166', 'anm_167', 'anm_168', 'anm_169', 'anm_170', 'anm_171', 'anm_172', 'anm_173', 'anm_174', 'anm_175', 'anm_176', 'anm_177', 'anm_178', 'anm_179', 'anm_180', 'anm_181', 'anm_182', 'anm_183', 'anm_184', 'anm_185', 'anm_186', 'anm_187', 'anm_188', 'anm_189', 'anm_190', 'anm_191', 'anm_192', 'anm_193', 'anm_194', 'anm_195', 'anm_196', 'anm_197', 'anm_198', 'anm_199'], 'snake': ['anm_200', 'anm_201', 'anm_202', 'anm_203', 'anm_204', 'anm_205', 'anm_206', 'anm_207', 'anm_208', 'anm_209', 'anm_210', 'anm_211', 'anm_212', 'anm_213', 'anm_214', 'anm_215', 'anm_216', 'anm_217', 'anm_218', 'anm_219', 'anm_220', 'anm_221', 'anm_222', 'anm_223', 'anm_224', 'anm_225', 'anm_226', 'anm_227', 'anm_228', 'anm_229', 'anm_230', 'anm_231', 'anm_232', 'anm_233', 'anm_234', 'anm_235', 'anm_236', 'anm_237', 'anm_238', 'anm_239', 'anm_240', 'anm_241', 'anm_242', 'anm_243', 'anm_244', 'anm_245', 'anm_246', 'anm_247', 'anm_248', 'anm_249', 'anm_250', 'anm_251', 'anm_252', 'anm_253', 'anm_254', 'anm_255', 'anm_256', 'anm_257', 'anm_258', 'anm_259', 'anm_260', 'anm_261', 'anm_262', 'anm_263', 'anm_264', 'anm_265', 'anm_266', 'anm_267', 'anm_268', 'anm_269', 'anm_270', 'anm_271', 'anm_272', 'anm_273', 'anm_274', 'anm_275', 'anm_276', 'anm_277', 'anm_278', 'anm_279', 'anm_280', 'anm_281', 'anm_282', 'anm_283', 'anm_284', 'anm_285', 'anm_286', 'anm_287', 'anm_288', 'anm_289', 'anm_290', 'anm_291', 'anm_292', 'anm_293', 'anm_294', 'anm_295', 'anm_296', 'anm_297', 'anm_298', 'anm_299']}

答案 1 :(得分:0)

更改此

anmdict['cat'] = "anm_" + str((list(range(0,100))))

对此

values = list(range(0,100))
anmdict['cat'] = ["anm_" + str(values[i]) for i in range(0,len(values))]