Вы путаете карту, потому что строка считается итеративной, а также кортежем / списком.
Например, если вы перебираете список, содержащий ["a", "b", "c"]
, вы получаете "a", "b", "c"
. Однако, если вы перебираете строку "abc"
, вы также получаете "a", "b", "c"
.
Попробуйте вместо этого ...
frequent_itemset= {'11': 23, '23': 20, ('20', '32'): 10, ('2', '3'): 9, ('1', '2', '3'): 5}
for k,v in frequent_itemset.items():
if isinstance(k, (list, tuple)):
key = ' '.join([x for x in k])
else:
key = k
print("{} ({})".format(key,v))