如何从用户的输入中按顺序(每个库存)添加一组值,例如{fruit:{1,2,3,4},{veggies:{5,6,7,8}}
到目前为止,我没有尝试过任何方法。
这是我的代码:
def Create_Inventory():
clear()
inventory_dictionary = {}
count_inventory = int(input("Enter the number of Inventories: "))
for num_inv in range(count_inventory):
add_inventory = str(input("Enter Inventory #%d: " % (num_inv + 1)))
inventory_dictionary[add_inventory] = set()
for find_key in inventory_dictionary:
count_item = int(input("\nHow many items in %s inventory: " % find_key))
for num_item in range(count_item):
#add_item = input("Enter item #%d: " % (num_item + 1))
#inventory_dictionary[find_key].add(add_item)
add_item = set(input("Enter item #%d: " % (num_item + 1)))
inventory_dictionary[find_key].update(add_item)
我的完整代码:
https://pastebin.com/gu5DJX5K
最佳答案
Sets are unordered collections.您想要的是不可能的。考虑以下替代方案:list
,已订购,但允许重复。
在Python 3.6及更高版本中,dict.keys
字典按插入顺序排列。
3.6之前的Python版本中的OrderedDict.keys
。
创建一个自定义类,例如this recipe。
使用第三方库,例如ordered-set
。
另请参阅:Does Python have an ordered set?