Python:如何从给定字典中按指定格式输出对应元素值?
解决Python字典指定位置元素的输出问题
嘿,这事儿不难,我给你两种实用的解法,看你偏好哪种:
方法一:直接按索引提取(简单直观)
如果你的字典结构固定,就两个商品的信息,直接通过列表索引[0]和[1]取出对应位置的元素,再拼接成你要的格式就行:
product = {'barcode': [123, 456], 'Name': ['Milk', 'Bread'], 'Price': ['2', '3.5'], 'weight': ['2', '0.6']} # 取出第一个商品的三个字段值 first_item = f"{product['barcode'][0]} {product['Name'][0]} {product['Price'][0]}" # 取出第二个商品的三个字段值 second_item = f"{product['barcode'][1]} {product['Name'][1]} {product['Price'][1]}" # 合并输出 print(f"{first_item} {second_item}")
运行这段代码,就能得到你想要的结果:123 Milk 2 456 Bread 3.5
方法二:用zip批量处理(灵活可扩展)
如果以后你的字典里可能有更多商品,用zip()来打包对应字段的列表会更灵活,不用一个个写索引:
product = {'barcode': [123, 456], 'Name': ['Milk', 'Bread'], 'Price': ['2', '3.5'], 'weight': ['2', '0.6']} # 把需要的字段列表打包,每个元组对应一个商品的完整信息(这里我们跳过weight字段) product_items = zip(product['barcode'], product['Name'], product['Price']) # 把每个商品的元组转成空格分隔的字符串,再把所有字符串拼接在一起 output = ' '.join(' '.join(map(str, item)) for item in product_items) print(output)
这个方法的好处是,哪怕你后面加了第3、第4个商品,代码不用改就能直接输出所有商品的对应字段值,非常方便。
小贴士
- 用
map(str, item)是因为barcode里的元素是整数,需要转成字符串才能和其他字符串拼接; - 如果之后需要包含
weight字段,只需要把它加入zip()的参数里就行。
内容的提问来源于stack exchange,提问作者Nabeinz kc
相关产品推荐
相关产品推荐

