Как в Python создать массив с ID пользователя

Нужен глобальный массив, чтобы индивидуальные значения юзера использовались в 1 ячейке массива.

Не могу корректно объяснить. Приложу код на Си, который объясняет суть вопроса.

#define MAX_ACCOUNT 2000
int isLogged[MAX_ACCOUNT];
//
int my_id = 1315;//*
//

//
isLogged[my_id] = 1; // 1 - logged
//
printf("Status Logged: %d", isLogged[my_id]);

Ответы (1 шт):

Автор решения: insolor

Буквальный перевод:

MAX_ACCOUNT = 2000

# Для заполнения списка изменяемыми объектами так лучше не делать, но для чисел подойдет:
is_logged = [0] * MAX_ACCOUNT  # Получится список размером MAX_ACCOUNT, заполненный нулями
my_id = 1315

is_logged[my_id] = 1
print("Status Logged: %d" % is_logged[my_id])  # в "старом" си-подобном синтаксисе
# Или в более современном синтаксисе print(f"Status Logged {is_logged[my_id]}")

В данном случае может быть удобнее использовать не список предопределенного размера, а словарь:

is_logged = dict() 
my_id = 1315

is_logged[my_id] = 1

# Метод get вернет значение по ключу, или значение по умолчанию (0 в данном случае), переданное вторым параметром, если ключа нет
print(f"Status Logged {is_logged.get(my_id, 0)}")

Можно вместо dict использовать defalutdict (словарь с заранее заданным значением по умолчанию), тогда значения можно будет получать не через get, а просто через квадратные скобки:

from collections import defalutdict

is_logged = defaultdict(int)  # Если значения в словаре нет, то будет вызываться `int()`, что будет давать 0
my_id = 1315

id_logged[my_id] = 1
print(f"Status Logged {is_logged[my_id]}")
→ Ссылка