【问题标题】:Removing commas while writing the dictionary to output file将字典写入输出文件时删除逗号
【发布时间】:2019-10-22 23:14:32
【问题描述】:

我正在尝试将字典的键值对写入没有任何逗号或方括号的输出文件。[我将值作为列表。] 如何删除值之间的逗号?

我尝试使用map().join(),但仍然得到它:

键1:值1,值2,值3

key2: value1, value2, value3

for keys, values in item_list.items():
    outfile.write("{}: {}\n".format(keys, "".join(map(str, str(values)[1:-1]))))

我希望写成,

key1: value1 value2 value3

key2: value1 value2 value3

【问题讨论】:

标签: python


【解决方案1】:

我认为您对.join() 声明做的有点过头了。您需要做的就是.join() values 和空格。

for keys, values in item_list.items():
    outfile.write("{}: {}\n".format(keys, " ".join(values)))

【讨论】:

    【解决方案2】:
    "".join(map(str, str(values)[1:-1])))
    

    这不起作用的原因:要“删除括号”,您从列表中创建一个字符串并从中删除括号,然后“删除逗号”您尝试从列表元素中创建字符串并在没有任何中间的情况下加入他们。但是,由于此时我们已经在处理字符串,map 不会遍历列表中的项目,而是遍历字符串中的字符。

    试图删除括号是没有意义的,因为列表实际上没有它们 - 用于表示列表的字符串有。

    要解决这个问题,只需按照另一个答案所示进行:直接连接列表元素。如果列表的元素不是字符串,那么是的,您需要转换它们(所以," ".join(map(str, values)))。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多