我有这个
s = ['son','abc','pro','bro']
b = ['son','bro']
c = ['pro','quo']
Run Code Online (Sandbox Code Playgroud)
预期的输出是这样的。index(item_in_s)如果它出现在 list 中,则输出中的项目所在的位置b。或者index(item_in_s)+10如果一个项目在c.
[0,12,3]
Run Code Online (Sandbox Code Playgroud)
我试过这个:
index_list = [s.index(item) if item in b else s.index(item)+10 if item in c for item in s]
print(index)
Run Code Online (Sandbox Code Playgroud)
但显然这是一个语法错误。所以我试过这个:
index_list = [s.index(item) if item in b else s.index(item)+10 for item in s if item in c]
print(index)
Run Code Online (Sandbox Code Playgroud)
输出:
[12]
Run Code Online (Sandbox Code Playgroud)
这只是改变了整个逻辑。虽然我可以做到这一点
fin = [s.index(item) if item in b else s.index(item)+10 if item in c else '' for item …Run Code Online (Sandbox Code Playgroud)