문자열 번호를 목록의 정수로 변환하는 방법은 무엇입니까?
문제
목록이 있습니다.
['batting average', '306', 'ERA', '1710']
문자열을 만지지 않고 의도 한 숫자를 어떻게 변환 할 수 있습니까?
도움을 주셔서 감사합니다.
해결책
changed_list = [int(f) if f.isdigit() else f for f in original_list]
다른 팁
데이터는 숫자가 어느 위치에 있는지 알고있는 것처럼 보입니다. 이 경우 숫자처럼 보이는 것을 변환하는 대신 이러한 위치에서 데이터를 명시 적으로 변환하는 것이 좋습니다.
ls = ['batting average', '306', 'ERA', '1710']
ls[1] = int(ls[1])
ls[3] = int(ls[3])
이 시도:
def convert( someList ):
for item in someList:
try:
yield int(item)
except ValueError:
yield item
newList= list( convert( oldList ) )
a= ['batting average', '306', 'ERA', '1710.5']
[f if sum([c.isalpha() for c in f]) else float(f) for f in a ]
목록에 float, string 및 int가 포함 된 경우 (주석에서 @d.putto가 지적한대로)
제휴하지 않습니다 StackOverflow