Как сделать следующее в понимании списка?Понимание списка с помощью else pass
test = [["abc", 1],["bca",2]]
result = []
for x in test:
if x[0] =='abc':
result.append(x)
else:
pass
result
Out[125]: [['abc', 1]]
Попробуйте 1:
[x if (x[0] == 'abc') else pass for x in test]
File "<ipython-input-127-d0bbe1907880>", line 1
[x if (x[0] == 'abc') else pass for x in test]
^
SyntaxError: invalid syntax
Попробуйте 2:
[x if (x[0] == 'abc') else None for x in test]
Out[126]: [['abc', 1], None]
Попробуйте 3:
[x if (x[0] == 'abc') for x in test]
File "<ipython-input-122-a114a293661f>", line 1
[x if (x[0] == 'abc') for x in test]
^
SyntaxError: invalid syntax
Hi WoodChopper. Фактически, в цикле for, если условие выполнено, что-то делается, если оно не выполняется, ничего не сделано ... Так что else: pass является избыточным. – Jblasco
@Jblasco: Спасибо, моя первая попытка была «Попробовать 3», но только не в правильном порядке, как упоминалось в jaco. – WoodChopper