38961
最近Python3を勉強し始めた者です。  
標準入力の型の指定に苦戦しております。

入力

```

    12345678
    
```

に対して、

```

    a[1]=1
    a[2]=2
    a[3]=...
    
```

とするようなコードを考えております。  
過去の質問では、ジェネレータ式による

```

    def gen(n):
      if n < 10:
        yield n
      else:
        for m in gen(n/10):
          yield m
        yield n%10
    a = [int(i) for i in gen(数値)]
    
```

というものが提案されており、使用させて頂こうと考えたのですが

```

    00012345...
    
```

のような0から始まる数字の場合には使えませんでした。  
int型で0から始まるような数値に対応できるコードを作るにはどうすれば良いでしょうか。

また、応用として任意の`n*m`の行列に対して`a[1...n][1...m]`に代入できるコードももしよろしければ教えていただきたいです。

例:n=2,m=2(入力にはこれらの値の情報なし)

入力

```

    12
    34
    
```

挙動

```

    a[1][1]=1
    a[2][1]=2
    a[1][2]=3
    a[2][2]=4
    
```

よろしくお願いします。
CC BY-SA 3.0
2017-10-22T15:23:12.397
38960
2017-10-23T00:38:54.853
2017-10-23T00:38:54.853
19110
25869
question
python python3
Python3における数値の分割
なぜインデクスが1から始まっているんですか? ありえません。  
単純な勘違いだと思って0から始まる回答にします。

前者は

```

    s = '12345678'
    a = [int(c) for c in s]
    
```

後者は

```

    s = ['12', '34']
    
```

という入力に対して

```

    a = [[int(c) for c in l] for l in s]
    
```

でどうぞ。

* * *

(追記)  
後者を

```

    import sys
    a = [[int(c) for c in l.strip()] for l in sys.stdin]
    
```

と変えると標準入力から読みますよ。
CC BY-SA 3.0
2017-10-22T15:29:15.227
38961
2017-10-22T22:40:23.683
2017-10-22T22:40:23.683
12274
12274
38960
answer