목록은 쉼표로 구분 된 문자열을 변환, I은 다음처럼 주어진 요소의 한 요소 목록을 가지고플로트 파이썬
각각의 값만을 쉼표로 구분x= ['1.1,1.2,1.6,1.7']
. 나는이 내가 x=[float(i) for i in x]
및 x=[float(i) for i in x.split()]
을 시도했습니다
x=[1.1, 1.2, 1.6, 1.7]
처럼 수레의 목록, 예컨대 만들고 싶어하지만 모두 반환 오류.
목록은 쉼표로 구분 된 문자열을 변환, I은 다음처럼 주어진 요소의 한 요소 목록을 가지고플로트 파이썬
각각의 값만을 쉼표로 구분x= ['1.1,1.2,1.6,1.7']
. 나는이 내가 x=[float(i) for i in x]
및 x=[float(i) for i in x.split()]
을 시도했습니다
x=[1.1, 1.2, 1.6, 1.7]
처럼 수레의 목록, 예컨대 만들고 싶어하지만 모두 반환 오류.
분할 쉼표로 문자열 및 구성 각 항목에서 float
:
[ float(item) for item in '1.1,2.3,5.1'.split(',') ]
OP에 다른 입력이 있습니다. – martianwars
x
그래서 당신은 x[0]
을 필요로하는 문자열에 액세스하는 하나의 문자열 목록입니다. 해당 문자열은 쉼표로 구분되어 있으므로 구분 기호 (split(',')
)를 지정해야합니다. (그렇지 않으면, split()
은 공백에서 문자열을 분할 as described in the docs 시도합니다.)
그래서 당신이 결국 : 당신이 문자열에 split()
함수를 적용하고 있는지가 아니라 하나의 요소 목록 확인
[float(i) for i in x[0].split(',')]
. 이를 확인하려면 x[0]
을 사용하십시오. 또한 split()
함수에 구분 기호 ,
을 전달하십시오.
x = [float(i) for i in x[0].split(',')]
x=[float(i) for i in x.split()]
은 두 가지를 제외하고는 거의 정확합니다. 하나 들어, 당신은 아무것도 split()
함수에 전달하지 않으므로 문자열에 아무것도 분할하지 않을 것입니다 (그것은 문자열에만없는 공백으로 분리됩니다). 쉼표로 구분하고 싶으므로 x.split(',')
과 같이 쉼표를 붙여야합니다.
두 번째로 은 하나의 문자열을 포함하는 목록 인 x= ['1.1,1.2,1.6,1.7']
으로 정의되며, x[0]
으로 배열의 문자열을 참조해야합니다. 마지막 코드는 다음과 같습니다
x = ['1.1,1.2,1.6,1.7']
floats = [float(i) for i in x[0].split(',')]
print(floats)
이것은 수레의 목록을 출력합니다 [1.1, 1.2, 1.6, 1.7]
x
경우 당신은 단순히 floats = [float(i) for i in x.split(',')]
을 사용, x = '1.1,1.2,1.6,1.7'
처럼, 단지 문자열했다.
배열이 아닌 목록입니다. https://docs.python.org/2/library/array.html – UnholySheep
@UnholySheep 고마워요. 용어를 수정했습니다. –
FYI "아무것도 분할하지 않을 것"은 정확하지 않습니다. [docs] (https://docs.python.org/3/library/stdtypes.html#str.split)를 참조하십시오. - 구분 기호가 없으면 대신 공백으로 나뉘어집니다. . – whrrgarbl
이 같은 map()
를 사용할 수 있습니다
list(map(float, x[0].split(',')))
map()
는 (: x[0].split(',')
우리의 경우에이 목록을) 함수 (우리의 경우 float
)와 반복 가능한 걸립니다.
[float(item) for item in x[0].split(',')]
Python3 +에서'map'은리스트를 리턴하지 않습니다. 맵 오브젝트를 반환합니다.리스트로 변환해야합니다. –
@IronFist 파이썬 3은이 질문에 태그가 없습니다! – ettanany
Python2는 아니기 때문에 답변을 일반화해야합니다. 또한 Python3 문서를 링크하여 답변에 Python3을 언급하고 있습니다. –
는 X '의 시도 [0] .split (', ')':
float
기능이이 list comprehension 동등 우리 목록x[0].split(',')
의 각 항목에 대해 호출? – martianwars
'x'는 목록이므로'x [0]'을 통해 액세스해야합니다. 또한 분리 문자를'split' 호출에 제공해야합니다 (예 :'x [0]).split (',') ' – UnholySheep