Как преобразовать строку в массив Python? - PullRequest
0 голосов
/ 08 июля 2020

У меня строка выглядит так:

"[3 3 3 3 4 3 4 ...]"

И мне нужно преобразовать ее в массив python. Следует ли мне добавлять , после каждого числа, прежде чем что-либо делать? или

Возможно ли это? Если да, то как?

Ответы [ 3 ]

2 голосов
/ 08 июля 2020

Это то, что вы хотите?

dd = "[3 3 3 3 4 3 4]"
new_dd = dd.replace('[','').replace(']','').split(' ')
# ['3', '3', '3', '3', '4', '3', '4']
# if you want to convert int.

[int(d) for d in new_dd]
# [3, 3, 3, 3, 4, 3, 4]
1 голос
/ 08 июля 2020

Но если вам нужен список целых чисел (int), а не массив строк, вам нужно:

s = "[3 3 4 3 4]"

numbers = s[1:-1].split() # a list of strings
print(numbers)
numbers = [int(n) for n in numbers] # a list of integers
print(numbers)

Печать:

['3', '3', '4', '3', '4']
[3, 3, 4, 3, 4]
1 голос
/ 08 июля 2020

Да, вы можете использовать функцию .split (). Просто сделайте:

string = "..." # The string here
numbers = string[1:-1].split() # We have the 1:-1 here because we want to get rid of the square brackets that are in the string.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...