Python список с пробелом в середине элементов списка - PullRequest
0 голосов
/ 04 марта 2020

У меня есть list, который выглядит следующим образом:

lis = [1 2 3, 4 5 6, 7 8 9]

При запуске я получаю SyntaxError.

Я хочу, чтобы этот список содержал три элемента:

  1. 1 2 3
  2. 4 5 6
  3. 7 8 9

Пробелы важны, и я стараюсь избегать использования '' и "". Есть ли способ сделать это?

Ответы [ 4 ]

2 голосов
/ 04 марта 2020

1 2 3 не является допустимой формой типа данных в Python.

Вы можете создать список списков (2D-список), выполнив:

[[1,2,3],[4,5,6],[7,8,9]]

В качестве альтернативы, если вы хотите, чтобы они были строками текста:

["1 2 3", "4 5 6", "7 8 9"]

Или, если вы хотите, чтобы они были только целыми числами (числами):

[123, 456, 789]

является опцией.

2 голосов
/ 04 марта 2020

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

data = ["1 2 3", "4 5 6", "7 8 9"]

В противном случае можно использовать список списков / кортежей:

data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]

Вы также можете попробовать что-то вроде это:

data = [(1," ",2," ",3), (4," ",5," ",6), (7," ",8," ",9)]

Идеальное решение действительно зависит от вашего приложения

1 голос
/ 04 марта 2020

Вы должны знать, что 1 2 3 не является строкой и целыми числами.

В списке python каждый элемент списка должен быть обычным объектом. Так что вы получите исключение.

1 голос
/ 04 марта 2020

Если между целыми числами есть пробелы, в python в настоящее время нет типа объекта, который бы поддерживал это, если только вы не разберете их в строки. Вы можете иметь 2D списки и поместить 4 5 6 в [4,5,6], например, и извлечь из него

...