Try
lapply( data , function(x) { tmp <- summary(x)$fstatistic ;
pf( tmp[1] , tmp[2] , tmp[3] , lower.tail = F )
} )
For example...
# non-sensical lm!
set.seed(123)
y <- 1 + rnorm(10)
# this makes a list of 5 lm's using the response data 'y'
data <- replicate( 5 , lm( y ~ 1 + rnorm(10) ) , simpl = FALSE )
# Call 'summary' on model object to calculate the f-statistic, and run 'pf' to get p-value
sapply( data , function(x) { f <- summary(x)$fstatistic ; pf(f[1], f[2], f[3], lower.tail=F) } )
value value value value value
0.53263166 0.03896285 0.70298727 0.57721440 0.45352619