如何实现Python中打印字典内列表时去除方括号
解决Python字典值列表去除方括号的问题
你是想把字典里每个列表类型的值提取出来,去掉列表自带的方括号后按指定格式打印对吧?我来帮你搞定这个问题~
问题根源
你当前的代码直接打印a[i],但a[i]是单元素列表(比如[23,]、["Hi",]),Python默认打印列表时会带上方括号,这就是你看到[23]: ["Hi"]: [54]:的原因。
解决方案
因为每个列表里只有一个元素,我们可以通过索引[0]直接取出列表里的元素,再根据元素类型调整格式(比如给字符串保留引号),最后用end=" "让所有输出保持在同一行:
a={"hello":[23,],90:["Hi",],25:[54,]} for key in a: # 取出列表的第一个元素 elem = a[key][0] # 针对字符串和数字做不同格式处理 if isinstance(elem, str): print(f'"{elem}": ', end="") else: print(f"{elem}: ", end="")
输出结果
运行这段代码后,你会得到:
23: "Hi": 54:
如果之后你的字典值里可能出现多元素列表,还可以用', '.join(map(str, a[i]))把列表元素拼接成无方括号的字符串,但从你的示例来看,单元素列表的场景用上面的方法最直接高效。
内容的提问来源于stack exchange,提问作者Candy
相关产品推荐
相关产品推荐

