¿Hay una manera lógica de pensar en la indexación de listas?

¿Cuál es la lógica subyacente o la base filosófica para entender la diferencia entremylist[2] ymylist[[2]] ¿en el siguiente?

¿Cuál es una forma lógica simple de entender los corchetes simples versus los corchetes dobles?

> mylist <- list(1, list("a","b","c"))

> mylist[2]
# [[1]]
# [[1]][[1]]
# [1] "a"

# [[1]][[2]]
# [1] "b"

# [[1]][[3]]
# [1] "c"

> mylist[[2]]
# [[1]]
# [1] "a"

# [[2]]
# [1] "b"

# [[3]]
# [1] "c"

Respuestas a la pregunta(1)

Su respuesta a la pregunta