, если вы хотите искать только имя атрибута с любым значением
from bs4 import BeautifulSoup
import re
soup= BeautifulSoup(html.text,'lxml')
results = soup.findAll("td", {"valign" : re.compile(r".*")})
Эта фраза
let table = [1;2;3] in (List.length table) |> permuteBool
является высшим (глобальным) выражением. Такое выражение необходимо отделить от определений верхнего уровня двойной точкой с запятой:
let rec permuteBool n =
match n with
| 0 -> [[]]
| k -> (List.map (fun x-> true::x) (permuteBool (n-1))) @
(List.map (fun x -> false::x) (permuteBool (n-1)))
;; let table = [1;2;3] in (List.length table) |> permuteBool
Когда вы ввели две фразы по отдельности, вы случайно написали эту требуемую двойную точку с запятой ;;
, таким ошибка исчезла.
Более идиоматический подход состоит в том, чтобы всегда связывать такое выражение в определении верхнего уровня:
let rec permuteBool n =
match n with
| 0 -> [[]]
| k -> (List.map (fun x-> true::x) (permuteBool (n-1))) @
(List.map (fun x -> false::x) (permuteBool (n-1)))
let _ = (* here _ is used to discard the result *)
let table = [1;2;3] in (List.length table) |> permuteBool
или, если вы не хотите отбрасывать результат:
let result = (* here _ is used to discard the result *)
let table = [1;2;3] in (List.length table) |> permuteBool