如何拆分整数并将其作为列表返回

时间:2018-10-31 10:40:12

标签: python python-3.x

我正在学习python,我想知道如何将输入n = 123转换为列表[1,2,3]

这是我拥有的代码,但出现错误:

def digitize(n):
  return n.split()

我的错误:

AttributeError: 'int' object has no attribute 'split'

3 个答案:

答案 0 :(得分:1)

您可以这样做:

const MyMapComponent = compose(
  withProps({
    googleMapURL:
      "https://maps.googleapis.com/maps/api/js?key=AIzaSyC5VMMlyr_A6K5ycpOrq3OsVM8YYbn0q3A&v=3.exp&libraries=geometry,drawing,places",
    loadingElement: <div style={{ height: `100%` }} />,
    containerElement: <div style={{ height: `400px` }} />,
    mapElement: <div style={{ height: `100%` }} />,
  }),
  withScriptjs,
  withGoogleMap,
)(props => (
  <GoogleMap defaultZoom={8} defaultCenter={{ lat: -34.397, lng: 150.644 }}>
    {props.isMarkerShown && (
      <Marker position={{ lat: props.latProp, lng: props.lngProp }} />
    )}
  </GoogleMap>
));

class App extends Component{
  constructor(props){
    super(props);
    this.state = { lat: -34.400, lng: 151.644 }
  }
  render(){
    return (
      <div>
        <MyMapComponent isMarkerShown latProp={this.state.lat} lngProp={this.state.lng} />
      </div>
    );
  }
}
export default App;

答案 1 :(得分:1)

您可以执行以下操作:

n = 1234
mylist = [int(x) for x in str(n)]

输出

def digitize(n):
    return [int(d) for d in str(n)]


print(digitize(123))

首先使用str将其转换为字符串,然后遍历字符串的字符(数字)并将每个数字转换回整数。另外,您也可以使用map,例如:

[1, 2, 3]

或者如@ Ev.Kounis所指出的,您可以简单地做到:

return [e for e in map(int, str(n))]

答案 2 :(得分:0)

在python中,split是字符串而不是整数的方法。

首先将整数转换为字符串,然后将其转换为list个字符:

list(str(123)) # ['1', '2', '3']

然后您可以再次将每个元素映射到int:

list(map(int,list(str(123))))  # [1, 2, 3]