Если необходимо перебрать элементы списка и избежать использования библиотеки itertools, можно использовать простые циклы или рекурсию. Вот несколько способов перебора элементов списка:
### 1. Прямой перебор с помощью `for` цикла
Если вам нужно просто пройтись по всем элементам списка и выполнить какие-то операции с каждым элементом, это можно сделать с помощью обычного цикла `for`:
```python
my_list = [1, 2, 3, 4, 5] # пример списка
for item in my_list:
print(item) # замените на нужные вам операции
```
### 2. Использование индексов
Если вы хотите перебрать список по индексам, это можно сделать следующим образом:
```python
my_list = [1, 2, 3, 4, 5] # пример списка
for index in range(len(my_list)):
print(my_list[index]) # замените на нужные вам операции
```
### 3. Рекурсивный подход
Если необходимо перебрать все элементы и выполнять какие-то действия с каждым из них, можно использовать рекурсию:
```python
def recursive_print(lst):
if not lst: # базовый случай
return
print(lst[0]) # операция с первым элементом
recursive_print(lst[1:]) # рекурсивный вызов с оставшимися элементами
my_list = [1, 2, 3, 4, 5] # пример списка
recursive_print(my_list)
```
### 4. Списковое выражение (если нужно создать новый список)
Если вам нужно создать новый список из элементов исходного, можно воспользоваться списковыми выражениями:
```python
my_list = [1, 2, 3, 4, 5] # пример списка
new_list = [item * 2 for item in my_list] # например, удваиваем элементы
print(new_list)
```
### Перебор с комбинациями или пермутациями
Если вам нужно генерировать все возможные комбинации или перестановки из 30 элементов, имейте в виду, что количество таких возможных сочетаний может быть очень большим. Для этого можно использовать рекурсию:
```python
def permutations(lst):
if len(lst) == 0:
return []
if len(lst) == 1:
return [lst]
all_perms = []
for i in range(len(lst)):
current = lst[i]
remaining = lst[:i] + lst[i+1:]
for p in permutations(remaining):
all_perms.append([current] + p)
return all_perms
my_list = [1, 2, 3] # пример списка
all_perms = permutations(my_list)
for perm in all_perms:
print(perm)
```
Имейте в виду, что вычисление всех возможных перестановок для 30 элементов может занять огромное количество времени и памяти, и на практике выполнима только для небольших наборов данных.