The answer is B: orange diamond.

The rule
The pattern repeats every 4 things: orange diamond, orange diamond, purple star, teal heart. Then it starts again from the beginning.
The pattern as Python code
Here is a tiny Python program that follows the same rule. Type it into IDLE and run it to print the whole pattern, including the answer.
pattern = ["orange diamond", "orange diamond", "purple star", "teal heart"]
for position in range(10):
print(position + 1, pattern[position % len(pattern)])
When you run it, Python prints:
1 orange diamond 2 orange diamond 3 purple star 4 teal heart 5 orange diamond 6 orange diamond 7 purple star 8 teal heart 9 orange diamond 10 orange diamond
Pixel says: Try changing a number in the code and run it again. Can you make the pattern go on for 20 steps? Meow!