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

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

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

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

Q&A

解決済

2回答

1233閲覧

関数呼び出しに代入できない回避 方法

Untitled_Sample

総合スコア192

Python 3.x

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

0グッド

0クリップ

投稿2018/07/06 14:59

編集2018/07/06 15:23

適当なA配列から、適当なB配列の値を代入したい。
#エラー コード

python

1import random 2 3 4l=[1,1] 5r=[[0 for _ in range(3)]for _ in range(3)] 6 7lr=[0,1,2] 8 9# lから1つ呼び出す 10One=random.sample(l,1) 11#print(One[0]) 12# r配列の中から選び、lr配列の1つを呼び出す 13random.choice(r[random.choice(lr)])=One[0] 14# そして、事前に取り出した値を代入 15 16# 表示 17for i in r: 18 print(*i)

#エラー内容

python

1 File "2.py", line 47 2 random.choice(r[random.choice(lr)])=One[0] 3 ^ 4SyntaxError: can't assign to function call 5Error in sys.excepthook: 6Traceback (most recent call last): 7 File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook 8 from apport.fileutils import likely_packaged, get_recent_crashes 9 File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> 10 from apport.report import Report 11 File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> 12 import apport.fileutils 13 File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> 14 from apport.packaging_impl import impl as packaging 15 File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module> 16 import apt 17 File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> 18 import apt_pkg 19ModuleNotFoundError: No module named 'apt_pkg' 20 21Original exception was: 22 File "2.py", line 47 23 random.choice(r[random.choice(lr)])=One[0] 24 ^ 25SyntaxError: can't assign to function call 26

どの用に回避すれば良いのでしょうか?

追記

やりたい事
r配列の一部をl配列から1つ抜き出した値に更新(代入)したい。

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

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

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

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

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

guest

回答2

0

ベストアンサー

インデックスをランダムに選んで、リスト要素への代入として書きます。

python

1import random 2 3lr = [0, 1, 2] 4 5l = [1, 1] 6r = [[0 for _ in range(3)] 7 for _ in range(3)] 8 9one = random.choice(l) 10i,j = random.choice(lr), random.choice(lr) 11 12r[i][j] = one 13 14for i in r: 15 print(*i)

投稿2018/07/06 16:22

hayataka2049

総合スコア30933

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

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

Untitled_Sample

2018/07/06 16:32

なるほど。値ではなく、indexの方なら大丈夫でしたか。
guest

0

コードの意図が汲み取れませんが、とりあえず整数にリストは代入できません。
それからapt_pkgモジュールがありません。

投稿2018/07/06 15:19

tatamyiwathy

総合スコア1039

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問