Python 如何删除{}但保留字典值
今天我试着学习字典和集合,但我不知道如何正确使用Python 如何删除{}但保留字典值,python,python-3.x,dictionary,set,Python,Python 3.x,Dictionary,Set,今天我试着学习字典和集合,但我不知道如何正确使用join brandin = [] for x in range(int(input("New brand total: "))): brand = input("Brand Name: ") brandin.append(brand) brandinset = set(brandin) print("list: ", ', '.join(brandin)) print(
join
brandin = []
for x in range(int(input("New brand total: "))):
brand = input("Brand Name: ")
brandin.append(brand)
brandinset = set(brandin)
print("list: ", ', '.join(brandin))
print("set: ", ', '.join(brandinset))
brandtotal = {}
for brand in brandin:
if brand in brandtotal:
brandtotal[brand] += 1
else:
brandtotal[brand] = 1
print((brandtotal))
这是输出:
New brand total: 7
Brand Name: nike
Brand Name: adidas
Brand Name: nike
Brand Name: vans
Brand Name: adidas
Brand Name: nb
Brand Name: puma
list: nike, adidas, nike, vans, adidas, nb, puma
set: nike, vans, puma, nb, adidas
{'nike': 2, 'adidas': 2, 'vans': 1, 'nb': 1, 'puma': 1}
如何制作{'nike':2,'adidas':2,'vans':1,'nb':1,'puma':1}
变得像nike:2、adidas:2、vans:1、nb:1、puma:1
我试图使用join
,但它删除了值您需要使用join()
:
输出为以下字符串:
'nike: 2, adidas: 2, vans: 1, nb: 1, puma: 1'
一个选项:
print(','.join(f“{key}:{value}”代表键,brandtotal.items()中的值)
@johnympp谢谢!!!!顺便说一句,f在那里做什么?它是一个。格式化字符串的更简单方法。您也可以使用format()
或字符串连接,但我更喜欢f-strings.addendment to@johnnymapp的评论(这似乎真的应该是一个答案):如果您只是print
ing它,并且不需要在内存中存在完整的字符串,您可以这样做:print(*(f“{k}:{v}”代表k,v代表brandtotal.items()),sep=','))
并让print
代表您处理单个项目的打印和插入分隔符。我建议使用f-strings或str.format
而不是重复的字符串连接(这两种连接方式都比较难读,而且速度也比较慢)。我还建议迭代.items()
以避免对每个键进行不必要的查找,以更快/更简单的:','结尾。加入(f'{k}:{v}代表k,v代表brandtotal.items())
。
'nike: 2, adidas: 2, vans: 1, nb: 1, puma: 1'