Список внутри списка;вытащить из 2-го списка (через терминал) - PullRequest
0 голосов
/ 18 октября 2019

Я закончил в мае прошлого года с AAS в области информационных технологий, но в течение моего последнего семестра был указан как инвалид из-за моих травм в службе. Я стараюсь каждый день тратить час на изучение Python, и моя последняя задача сильно ударила - я просто не могу найти ответ, даже после часа поиска в Интернете передышки.

Я бросил себе вызовсоставить три списка;один и два, затем третий со вторым в первом. Но дело в том, что я должен сделать это в терминале, использующем $ user @ pc python3. Вот код, который я написал:

# create list1
# filename = dumb_list
dumb_list = [3,5,7,9]

# create list2
#listname = dumber_list
dumber_list = [2,4,6,8,10]

# create list1 + list2, where list2 is inside of list1
# merge list1 into list2? Uh? How?

# // will research after trying manual merge //

# listname = dumbest_list
dumbest_list = [3,5,7,9,[2,4,6,8,10]]

# list3 = [list1[list1_contents]][list2[list2_contents]]
# list output in terminal should be from [list_i][list_i_contents]
# since 6 lies in the middle, let's go with it to pull from list3,
# so in terminal after typing lists, dumbest_list[2][2] should work
dumbest_list[2][2]

# --- failure ---
# Line 21 above, dumbest_list[2][2], fails...
# error message: Traceback (most recent call last):
  # File "<stdin>", line 1, in <module>
# TypeError: 'int' object is not subscriptable

Глядя на документацию Python, он должен извлечь 6 из dumber_list в dumb_list, используя вызов dumbest_list[2][2]. Как вы можете видеть из моих комментариев, это не так. Я потратил больше часа на поиски этого и не могу понять, что происходит. Я даже пытался сделать каждое число строкой, думая, что проблема связана с числом, но возникает та же ошибка. Что бы это ни было, я этого не вижу. Ни один из поисков здесь не помогает мне увидеть это. Я определенно что-то упускаю.

Я тоже пытался использовать параметры [2:] [2:]. Является ли проблема моим списком? Набирал ли это вручную мою ошибку? Если это так, я не могу определить, как вставить список в другой список. Я могу объединить их в один список, но не могу вставить его. Я бы тоже перечислил этот код, но я переписал его раньше. Но если тоже не удалось, и никакие поиски там не дали мне отсрочку.

Может кто-нибудь сломать это мне? Я хочу понять это, чтобы я мог задокументировать и прочитать документацию по python и понять, что можно и чего нельзя делать с этим.

А почему терминал? Я не знаю, это был забавный способ проверить себя, поэтому я не буду его менять. Я все равно написал это, используя Fedora 30 и Visual Studio Code 1.39.2. Я также попытался разбить его на более простые шаги, используя Jupyter через Anaconda. Я потерпел неудачу по всем направлениям.

Я root,

_rod

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

@ RightmireM Не могу поверить, что я не рассматривал второй список как элемент. Я не знаю, о чем я думал, может быть, истощение, наконец, сильно ударило меня. Глядя из этой логики, я вижу, как мне ее не хватало. Я даже нашел учебник, который называет его «вложенными списками» здесь . Хотелось бы, чтобы это всплыло в моем поиске вчера вечером, сэкономило бы мне много чтения и просмотра видео пролетающих людей и даже не объяснило, как список вписывается в список. Такую простую логику я пропустил. Спасибо тебе, друг.

0 голосов
/ 18 октября 2019
# listname = dumbest_list
dumbest_list = [3,5,7,9,[2,4,6,8,10]]
# Lists start at 0. 
# So the second list, is at the first list's 4th position. 
# The 6 is at the second list's 2nd position
print(dumbest_list[4][2])
...