Ожидается, что у вас будет несколько значений списка, но вы получите только 1

#python #python-3.x #list #indexing

Вопрос:

 key1= input ("add vertex :")
V = int (key1)
for edge in range (V):
    do=input ("add edge <src><dest><wt>:").split()
    x = [str(do)]
print (x)
 

Я пытаюсь получить несколько списков, содержащих 3 значения, но почему у меня только 1? Вы не могли бы мне помочь?

Комментарии:

1. потому что вы переписываете список снова и снова. Вам нужно вызвать функцию добавления в список и добавить команду «Сделать» в конце.

Ответ №1:

 key1= input ("add vertex :")
V = int (key1)
x = []
for edge in range (V):
    do=input ("add edge <src><dest><wt>:").split()
    x.append(do)
print (x)
 

Сначала создайте пустой список x . Затем добавьте do в него.

выход

 add vertex :3
add edge <src><dest><wt>:wiki dekstop 5
add edge <src><dest><wt>:fb program 9
add edge <src><dest><wt>:pintrest users 6
[['wiki', 'dekstop', '5'], ['fb', 'program', '9'], ['pintrest', 'users', '6']]
 

Комментарии:

1. Вам не нужно бросать do , чтобы string . Это уже string для начала.

2. Да, это то, что я тоже меняю .

3. да. Спасибо. Это полезно

4. С удовольствием. Ваше здоровье!