如何在Python中创建含N个唯一ID与名称的指定格式嵌套列表?
Python 程序:生成含唯一ID的名称-ID映射列表
下面是实现需求的Python代码,会处理重复ID的校验,最终生成指定格式的列表:
# 初始化存储结果的列表和记录已用ID的集合 result_list = [] used_ids = set() # 获取要输入的条目数量N,做基础输入校验 while True: try: n = int(input("请输入要录入的条目数量N: ")) if n <= 0: print("N必须是正整数,请重新输入") continue break except ValueError: print("输入无效,请输入一个整数") # 循环录入每个名称和ID for i in range(n): print(f"\n录入第{i+1}个条目") name = input("请输入名称: ").strip() # 校验ID唯一性,重复则要求重新输入 while True: user_id = input("请输入唯一ID: ").strip() if user_id in used_ids: print(f"ID {user_id}已存在,请输入新的不重复ID") else: used_ids.add(user_id) break # 按格式拼接后加入结果列表 result_list.append(f"{name}:{user_id}") # 输出最终结果 print("\n生成的列表:") print(result_list)
关键细节说明:
- 用
set()存储已使用的ID,利用集合的快速查找特性(O(1)时间复杂度)高效判断ID是否重复,比用列表遍历更高效 - 加入了输入合法性校验:确保N是正整数,避免非数字输入导致程序崩溃
- ID输入环节会循环校验,直到用户输入未使用过的ID为止
- 最终生成的列表完全符合
[name1:ID1,name2:ID2.....Nname:NID]的格式要求
内容的提问来源于stack exchange,提问作者Saket Kumar
相关产品推荐
相关产品推荐

