Examples of set operations

One can get Unix environment variables by escaping to the operating system

$UserName

Values (strings, numbers, booleans, whatever...) can be assigned to variables.

userID = "s1181234"

Parse your student ID: A student number can be converted to an integer by dropping the `s' prefix and invoking "ToExpression[]".  That large integer can be broken down into a list of single-digit elements with "IntegerDigits[]" to generate test data.

listData = IntegerDigits[ToExpression[StringDrop[userID,1]]]

"Partition" can be used to break a list into multiple lists.

lists = Partition[listData, 4, 3]

Double brackets are used to select list elements.
As a prefix function, "Intersection[]" can take any number of arguments.
A single set of square brackets is used to delimit function arguments,
while a double set of square brackets references an array like a vector (selects elements from a list).

Intersection[
lists[[1]],
lists[[2]],
{0, 1, 2, 3, 4}
]

The equivalent dyadic (binary, or two-operand) infix operator, "cap," can be entered with  <esc>inter<esc> (where "<esc>" is the "Escape" key) or selected from a panel (such as Palettes > Writing Assistant > Typesetting > ×).

lists[[1]] ⋂ lists[[2]]

Like "Intersection[]", "Union[]" takes an arbitrary number of arguments.

Union[lists[[1]], lists[[2]], {5, 6}]

The equivalent dyadic (binary) infix operator, "cup" can be entered with  <esc>un<esc> (where "<esc>" is the "Escape" key), .

lists[[1]] ⋃ lists[[2]]

Set difference can be taken with the "Complement[]" function, returning the list of elements that are in the first argument but not in any of the succeeding arguments.

Complement[listData, {0,1}]

Extra credit: Any of these functions invoked on a single argument can turn a list with possibly repeated elements into a set with only unique elements.

Complement[listData]