如何解决这个python if语句怎么了?
def multi(_conv,_pretty = False):
result = []
newResult = ""
for a in range(len(_conv)):
for i in range(len(data)):
if (str(_conv[a]) == data[i][0]):
result.append(data[i][1]
if(bool(_pretty) == True):
for i in range(len(result)):
newResult += str(result[i])
if(i != len(result) - 1):
newResult += ","
return newResult
但是由于我无法弄清楚的原因,在行if(bool(_pretty) == True):
上我在冒号上遇到语法错误。我已尝试确保间距正确,圆括号被打开没有任何问题,并且还尝试重写它以确保我没有丢失任何东西,但没有任何效果。如果有人可以帮助,那就太好了!
edit:对不起!我没有意识到仍然没有一对括号。那是我的坏事...
解决方法
您在)
中缺少result.append(data[i][1]
,导致解释器有些困惑。
其他问题...
您可以使用for
直接遍历列表中的项目。
在if
的条件下,无需括号。
无需强制转换_pretty
或将其与True进行比较。 _pretty
为a true value就足够了。
可以使用join
完成结果格式设置。
for c in _conv:
for d in data:
if str(c) == d[0]:
result.append(d[1])
if _pretty:
return ",".join(result)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。