I have 3 strings:

```
strand1 = "something"
strand2 = "something else"
strand3 = "something else again"

```

I want to run a few functions on each possible arrangement of those 3 strings, e.g.:

Case 1:

```
strand1 = "something else again"
strand2 = "something"
strand3 = "something else"

```

Case 2

```
strand1 = "something else"
strand2 = "something else again"
strand3 = "something"

```

etc ...

How would I do that elegantly in Python? I considered putting the strings in an array and using `itertools` but it seems to cut the strings at each iteration.

Another thing to consider is that the strings are stored in an object. For example I call `strand1` by typing

```
strand1.aa

```

Thanks for any help, I hope that the question is clear.