🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

16390閲覧

二次元配列をint型に変換したいです。

wafflar

総合スコア18

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/01/04 04:56

前提・実現したいこと

二次元配列の文字列をintの形に変換したいです。(データの数は決まってないです。)
ここに質問の内容を詳しく書いてください。
例えば、
[['2','13','23','21'],['3','53','13'],['54','32','8','53',7','2']]
の2次元配列があったとして、それを
[[2,13,23,21],[3,53,13],[54,32,8,53,7,2]]
という感じに変換したいです。

発生している問題・エラーメッセージ

<map object at 0x7f01ce056278>

該当のソースコード

Python

1import sys 2 3array=[] 4for line in sys.stdin.readlines(): 5 array.append(line.rstrip().split(" ")) 6 7array = (map(int,array)) 8 9print(array)

試したこと

ここに問題に対して試したことを記載してください。

どうやら、イテレータというものらしくて、調べたんですが、はっきりと理解できなかったです。
自分のイメージとして、キーボードで「かきくけこ」を打つ時の「kakikukeko」のローマ字がイテレータで、「かきくけこ」が出来たものがリストや配列という理解で良いでしょうか?
変な事言ってたらすみません。

ネットで探して2つ試してみたんですが、上手くいかなかったです。
・新しいリストを用意してappendする方法

・for i in range(len(array)):
array[i] = [int(j) for j in array[i]]

上の2つを試したんですがエラーになってしまいました。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。←?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

listに変換したければそのままlistを使ってください。

読み込み時になんとかするのが楽です。

python

1import sys 2 3array=[] 4for line in sys.stdin.readlines(): 5 array.append(list(map(int, line.rstrip().split(" "))))

投稿2020/01/04 05:07

hayataka2049

総合スコア30935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wafflar

2020/01/04 06:31

listでいっぺんに出来るんですね! ありがとうございます!!
guest

0

python

1array = [['2','13','23','21'],['3','53','13'],['54','32','8','53','7','2']] 2array = [[int(item) for item in row] for row in array] 3print(array)

あるいは

python

1array = [['2','13','23','21'],['3','53','13'],['54','32','8','53','7','2']] 2array = [list(map(int, row)) for row in array] 3print(array)

あるいは

python

1array = [['2','13','23','21'],['3','53','13'],['54','32','8','53','7','2']] 2for row in array: 3 row[:] = map(int, row) 4print(array)

投稿2020/01/04 05:03

編集2020/01/04 05:08
shiracamus

総合スコア5406

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wafflar

2020/01/04 06:33

3パターンも教えて下さり、ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問