質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

4回答

652閲覧

pythonの二次元リストへの代入について

fu_3823

総合スコア81

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/11/20 08:42

pyhtonの二次元リストとして以下を考えました。
t = [['.', '.', '.'], ['#', '#', '#']]
内包表記で、値を置き換えたいのですが、SyntaxError: invalid syntaxと
なってしまいます。

pyhton

1[t[0][k]="*" for k in range(len(t[0]))]

何か基本的なことで間違っているのでしょうか。

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

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

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

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

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

guest

回答4

0

イメージ説明

この場合は他の回答にあるように素直に代入文を for で 回したほうがわかりやすいと思いますが。

投稿2020/11/21 01:43

katoy

総合スコア22324

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

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

0

内包表記は新しいリストを作り出すためにあります。
t[0] をその新しいリストに置き換えればできないことはありませんが、...

Python

1t[0] = [ '*' for k in range(len(t[0])) ]

投稿2020/11/20 14:18

kazuma-s

総合スコア8224

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

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

0

t[0]を置き換えるだけなら、内包表記を使うまでもなく以下でいいのでは。

Python

1t[0] = ['*'] * len(t[0])

投稿2020/11/20 09:28

Daregada

総合スコア11990

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

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

0

ベストアンサー

内包表記内に代入を置くことはできません。
for文で書いて下さい。

Python

1for k in range(len(t[0])): 2 t[0][k] = "*"

投稿2020/11/20 08:46

LouiS0616

総合スコア35668

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

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

fu_3823

2020/11/20 19:48

勉強不足でした。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問