假设"mylist"可以包含值"video","audio","visual"或全部三个.我希望我的脚本将匹配的数据附加到列表"files",如果在"mylist"中找到该字符串,如果"mylist"中只有一个字符串,则此方法有效,但如果有多个字符串,则只有第一个字符串在"mylist"中匹配.有什么我可以使用而不是"elif"相当于"和如果"?
if request.method == 'POST':
mylist = request.POST.getlist('list')
files = []
if 'video' in mylist:
files.append('/home/dbs/public_html/download/codex/codex.html')
elif 'audio' in mylist:
files.append('/home/dbs/public_html/download/audio/audio_player.html')
elif 'visual' in mylist:
files.append('/home/dbs/public_html/download/visual/visual.html')
return HttpResponse(files)
else:
return http.HttpResponseForbidden()
Run Code Online (Sandbox Code Playgroud)
Thi*_*ter 10
只需使用if而不是elif.
if 'video' in mylist:
files.append('/home/dbs/public_html/download/codex/codex.html')
if 'audio' in mylist:
files.append('/home/dbs/public_html/download/audio/audio_player.html')
if 'visual' in mylist:
files.append('/home/dbs/public_html/download/visual/visual.html')
Run Code Online (Sandbox Code Playgroud)
你也可以使用一个映射对象和一个循环,如果有多个项目会更好,因为你不必重复`... in mylist代码:
paths = {
'video': '/home/dbs/public_html/download/codex/codex.html',
'audio': '/home/dbs/public_html/download/audio/audio_player.html',
'visual': '/home/dbs/public_html/download/visual/visual.html'
}
files += [path for key, path in paths.iteritems() if key in mylist]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |