我是Python新手。 我想打印列表中的元素,而不是以特定格式重复:{“id”:value}。 这是我的代码。Python - 带打印功能的错误输出
d =['l','o','u','l','b','l','a']
for item in range(0,len(d)):
prev=item-1
if item==0:
print(" {\"id\": \"" + (d[item]) + "\"} ,")
continue
if (d[item]==d[prev])or(d[item] in d[:prev]):
continue
else:
print(" {\"id\": \"" + (d[item]) + "\"}"),
if (item==(len(d))): #if last element, print ".", else print ","
print(".\n"),
else:
print(",\n"),
结果应该是:
{"id": "l"} ,
{"id": "o"} ,
{"id": "u"} ,
{"id": "b"} ,
{"id": "a"} .
但输出是:
{"id": "l"} ,
{"id": "o"} ,
{"id": "u"} ,
{"id": "b"} ,
{"id": "a"} ,
我的代码工作很好,直到最后一行。它以“,”而不是“。”结尾。 请帮我
谢谢。有用。但如果我将列表编辑为d = ['l','o','u','l','b','l'],那么它不起作用。我的代码中有没有错误? –
这是因为你没有输入'else'子句。 '如果d [item] == d [prev])或(d [:prev]中的d [item]):'返回true,因为您已经看到'l'。 – mcb
我们有其他方法吗?由于一些进一步的问题,这个列表应该保留原来的,而不是删除里面的任何元素。 –