You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python字典自定义格式输出及for循环使用问题求助

嘿,我来帮你搞定这两个字典相关的问题,一步步来:

一、用for语句逐行打印Python字典的不同元素

字典的遍历有几种常用方式,根据你要打印的内容选择就行:

  • 如果你想同时拿到姓名和对应的电话号码(最实用的场景),用items()方法遍历键值对:
my_dict = {"Alice": "123456", "Bob": "789012"}
for name, phone in my_dict.items():
    print(f"{name} + {phone}")
  • 要是只需要打印姓名(字典的键),用keys():
for name in my_dict.keys():
    print(name)
  • 只打印电话号码(字典的值)的话,用values():
for phone in my_dict.values():
    print(phone)
二、实现「姓名+电话号码」格式的打印并修复你的代码

先说说你现有代码里的几个小问题:

  1. 变量名拼写/命名不统一:比如你定义的字典叫Dictionary,但循环里用的是Exemple_diccionari;输入变量是First/Second,赋值时却写成了Primer/Segundo;循环里的counter和contador也是拼写不一致,这些都会导致报错。
  2. 遍历字典的方式不对:字典不能直接用数字索引(比如Exemple_diccionari[contador])来取值,得通过键或者直接遍历键值对。

下面是修正后的完整代码,完全符合你的需求:

# 1. 正确声明你要的Exemple_diccionari字典
Exemple_diccionari = {"Name": "Phone n", "Name2": "Phone n2", "Name3": "Phone n3"}

# 2. 获取用户输入的新姓名和号码
new_name = input('Whats the name? ')
new_phone = input('And the phone number? ')

# 3. 将新条目添加到字典中
Exemple_diccionari[new_name] = new_phone

# 4. 按要求格式打印——分两种情况:
# 情况1:逐行打印每个条目
print("逐行输出:")
for name, phone in Exemple_diccionari.items():
    print(f"{name}+{phone}")

# 情况2:同一行用空格分隔所有条目(就是你要的「姓名+电话号码 姓名2+电话号码2…」格式)
print("\n同一行输出:")
output_parts = []
for name, phone in Exemple_diccionari.items():
    output_parts.append(f"{name}+{phone}")
print(" ".join(output_parts))

简单解释下:

  • 用items()遍历字典是最直接的方式,一次就能拿到姓名和对应的号码,不用绕弯子。
  • 如果要在同一行打印所有内容,先把每个格式化后的字符串存到列表里,再用" ".join()把列表元素用空格连起来,完美实现你要的格式。
  • 变量名尽量保持一致且有意义,能避免很多低级错误~

内容的提问来源于stack exchange,提问作者cristiano ronaldo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 13:53:10