How many petals around the rose
Python 3, 30 bytes

lambda l:sum(n**3&amp;6for n in l)


Try it online!

(test cases shamelessly borrowed from xnor's answer)

How?

Given \$1\le n\le6\$, the number of petals can be computed with:

$$p=n^{2k+1} \operatorname{and}6,\:k\in\mathbb{N}^*$$

where \$\operatorname{and}\$ is a bitwise operator.

This can also be written as:

$$p=2\times\left\lfloor\frac{n^{2k+1}\bmod 8}{2}\right\rfloor$$

And is based on the fact that, for any \$k\ge1\$:

$$n^{2k+1}\bmod 8=\cases{
n&amp;\text{if $n$ is odd ($1$, $3$ or $5$)}\\
0&amp;\text{if $n$ is even ($2$, $4$ or $6$)}
}$$

More specifically, choosing \$k=1\$:

$$p=n^3 \operatorname{and}6$$

As Python code, the resulting expression is just as long as the nice n%-2%n found by xnor. But because it ends with a digit, we can get rid of the space just before the for, saving a byte.

 n | n**3 | as binary  | AND 6
---+------+------------+-------
 1 |    1 | 00000 00 1 |   0
 2 |    8 | 00001 00 0 |   0
 3 |   27 | 00011 01 1 |   2
 4 |   64 | 01000 00 0 |   0
 5 |  125 | 01111 10 1 |   4
 6 |  216 | 11011 00 0 |   0