以下是我得到的代码。但是,我不知道如何摆脱最后一个逗号。 我只想要用空格分隔值,然后用逗号分隔它与下一个键分开。
另外,关于文件的问题。 如果我打开一个文件并阅读它,并希望再次读取该文件,是否无法将光标移到文件的开头而不关闭并再次打开文件?
def dict_to_str(d):
""" (dict) -> str
Return a string containing each key and value in d. Keys and
values are separated by a blank space. Each key-value pair is
separated by a comma.
>>> dict_to_str({3: 4, 5: 6})
'3 4,5 6'
"""
s = ''
for (k, v) in d.items:
s = s + str(k) + " " + str(v) + ','
return s
答案 0 :(得分:4)
改为使用join
:
return ', '.join([str(key) + ' ' + str(value) for key, value in d.items()])
或者更详细地说:
items = []
for key, value in d.items():
items.append('{0} {1}'.format(key, value))
return ', '.join(items)
至于文件,你可以回头看:
handle.seek(0)
答案 1 :(得分:2)
只返回除最后一个字符之外的所有字符串,如此 -
def dict_to_str(d):
""" (dict) -> str
Return a string containing each key and value in d. Keys and
values are separated by a blank space. Each key-value pair is
separated by a comma.
>>> dict_to_str({3: 4, 5: 6})
'3 4,5 6'
"""
s = ''
for (k, v) in d.items():
s += str(k) + " " + str(v) + ','
return s[:-1]
输出测试 -
>>> dict_to_str({1:2, 3:4})
'1 2,3 4'
P.S - d.items
是一个函数,你不能迭代它,你需要调用函数并迭代返回的列表。
对于您的其他问题,您可以fileVar.seek(0)