답변:
이처럼 :
>>> text = 'a,b,c'
>>> text = text.split(',')
>>> text
[ 'a', 'b', 'c' ]
또는 eval()
문자열을 안전하다고 신뢰하는 경우 사용할 수 있습니다.
>>> text = 'a,b,c'
>>> text = eval('[' + text + ']')
기존 답변에 추가하기 만하면 다음과 같이 더 많은 것을 보게 될 것입니다.
>>> word = 'abc'
>>> L = list(word)
>>> L
['a', 'b', 'c']
>>> ''.join(L)
'abc'
하지만 지금 당장 다루고있는 것은 @ Cameron 의 답변으로 이동하십시오.
>>> word = 'a,b,c'
>>> L = word.split(',')
>>> L
['a', 'b', 'c']
>>> ','.join(L)
'a,b,c'
다음 파이썬 코드는 문자열을 문자열 목록으로 바꿉니다.
import ast
teststr = "['aaa','bbb','ccc']"
testarray = ast.literal_eval(teststr)
json
예를 들어 다음과 같이 사용할 수도 있습니다 .json.loads(teststr)
파이썬에서는 문자열과 목록이 매우 유사하기 때문에 문자열을 목록으로 변환 할 필요가 거의 없습니다.
실제로 문자 배열이어야하는 문자열이있는 경우 다음을 수행하십시오.
In [1]: x = "foobar"
In [2]: list(x)
Out[2]: ['f', 'o', 'o', 'b', 'a', 'r']
문자열은 파이썬의 목록과 매우 유사합니다.
In [3]: x[0]
Out[3]: 'f'
In [4]: for i in range(len(x)):
...: print x[i]
...:
f
o
o
b
a
r
문자열은 목록입니다. 거의.
실제로 배열을 원한다면 :
>>> from array import array
>>> text = "a,b,c"
>>> text = text.replace(',', '')
>>> myarray = array('c', text)
>>> myarray
array('c', 'abc')
>>> myarray[0]
'a'
>>> myarray[1]
'b'
배열이 필요하지 않고 문자를 색인으로만보고 싶다면 문자열이 불변이라는 사실을 제외하고 목록과 마찬가지로 반복 가능하다는 것을 기억하십시오.
>>> text = "a,b,c"
>>> text = text.replace(',', '')
>>> text[0]
'a'
모든 답변은 훌륭합니다. 목록 이해력이있는 또 다른 방법이 있습니다. 아래 솔루션을 참조하십시오.
u = "UUUDDD"
lst = [x for x in u]
쉼표로 구분 된 목록의 경우 다음을 수행하십시오.
u = "U,U,U,D,D,D"
lst = [x for x in u.split(',')]
내가 아직 최적화되지 않은 코드를 작성한 string
형식으로 변환하려면 다음 을 수행하십시오 a="[[1, 3], [2, -6]]"
.
matrixAr = []
mystring = "[[1, 3], [2, -4], [19, -15]]"
b=mystring.replace("[[","").replace("]]","") # to remove head [[ and tail ]]
for line in b.split('], ['):
row =list(map(int,line.split(','))) #map = to convert the number from string (some has also space ) to integer
matrixAr.append(row)
print matrixAr
실시 예 1
>>> email= "myemailid@gmail.com"
>>> email.split()
#OUTPUT
["myemailid@gmail.com"]
실시 예 2
>>> email= "myemailid@gmail.com, someonsemailid@gmail.com"
>>> email.split(',')
#OUTPUT
["myemailid@gmail.com", "someonsemailid@gmail.com"]