Pythonに詳しい人来てくれ

1 : 2022/03/31(木) 21:27:05.890 ID:qT9oudus0
unko_list = list()
x = 3
for i in range(3):
unko = rd.randint(1, 100)
unko_list.append(unko)

print(unko_list[x])

これを実行すると'int' object does not support item assignmentが出る
変数に格納されている数値を使って、リストのインデックスを指定することは出来ないのか?
出来ないとしたら、どんな解決策がある?

2 : 2022/03/31(木) 21:27:27.103 ID:ahasdEOwa
解決策はない
3 : 2022/03/31(木) 21:28:33.109 ID:3PB+izjq0
ぴちょん
4 : 2022/03/31(木) 21:28:37.773 ID:YrArDB9c0
unkoが問題
5 : 2022/03/31(木) 21:28:52.418 ID:8dTmXgWj0
リストには三つの要素が入るのでインデックスは0,1,2
だからx=3だとはみ出す
12 : 2022/03/31(木) 21:31:22.907 ID:qT9oudus0
>>5
すまん、例えのプログラムが悪かった
index out of rangeじゃないんだ

要はこれが聞きたいだけ
>>変数に格納されている数値を使って、リストのインデックスを指定することは出来ないのか?
>>出来ないとしたら、どんな解決策がある?

17 : 2022/03/31(木) 21:32:43.061 ID:hEuDKUHm0
>>12
別の配列にコピーする
18 : 2022/03/31(木) 21:33:03.194 ID:8dTmXgWj0
>>12
できる
エラーの内容を読むに、何らかのint型の変数nに対してn[2]=5みたいな事をやってると思われ
6 : 2022/03/31(木) 21:29:17.518 ID:7iqmWAv20
数え始めが0やで
[3]は4番目の要素を取り出す
そのリストは要素が3つしかないだろう
7 : 2022/03/31(木) 21:29:21.964 ID:w2NDUEovM
xイコール3は無いだろ
8 : 2022/03/31(木) 21:29:24.576 ID:HDgC4Q350
xが3だから
9 : 2022/03/31(木) 21:29:43.279 ID:qVuq5h5ed
おたんこなすじゃんコイツ
10 : 2022/03/31(木) 21:29:59.436 ID:eGjzaQk9M
unkoじゃなくunchiにしないとそうなる
11 : 2022/03/31(木) 21:31:10.072 ID:o2ptfd4F0
3ワロタ
リストは[0][1][2]の三つしかないで
13 : 2022/03/31(木) 21:31:31.541 ID:Fho2IGv/0
unkoが出なそう
14 : 2022/03/31(木) 21:31:38.480 ID:Mvcrxh5mM
print(unko_list)
にしてデバッグするクセをつけろ
15 : 2022/03/31(木) 21:32:14.509 ID:Fho2IGv/0
x = 2 にしてみて
16 : 2022/03/31(木) 21:32:35.266 ID:qT9oudus0
>>15
>>12
19 : 2022/03/31(木) 21:33:45.608 ID:Fho2IGv/0
もう一回unkoで質問し直してくれ
20 : 2022/03/31(木) 21:34:16.170 ID:s3Q42o2u0
エラー出てる場所がprintの所じゃ無くね?
21 : 2022/03/31(木) 21:34:24.869 ID:qT9oudus0
🤔
22 : 2022/03/31(木) 21:37:14.892 ID:CCOUx5kt0
エラー出てる行の変数の型を確認しろ
23 : 2022/03/31(木) 21:38:25.035 ID:o2ptfd4F0
キャストすればいいだけ
int(unko_list[x])

これをインデックスに入れろ

24 : 2022/03/31(木) 21:38:34.073 ID:qT9oudus0
ごめん、できた

ちょっとまってくれ、どんな誤解をしてたのか書く

プログラムそのままをコピペすることはちょっと訳あってできないから

26 : 2022/03/31(木) 21:40:05.858 ID:Mvcrxh5mM
>>24
偉い
すっきりして風呂に入りたいから出来るだけ早くしてくれ
25 : 2022/03/31(木) 21:39:37.233 ID:qVuq5h5ed
おっけまってる
27 : 2022/03/31(木) 21:40:23.921 ID:+W87UWoDr
range(3)だとiは0,1,2だからi[3]やりたいならrange(4)にするかi[2]にするか
28 : 2022/03/31(木) 21:42:10.691 ID:VQrcmr5s0
逆引きみたいなことしたいのか
数値からインデックスを求めると
29 : 2022/03/31(木) 21:43:15.273 ID:s3Q42o2u0
エラーをちゃんと見てないだけな気はする
30 : 2022/03/31(木) 21:43:54.792 ID:P9x33u/r0
エラー再現するコードを貼れ😡😡😡😡😡😡😡
31 : 2022/03/31(木) 21:44:52.568 ID:bSeO7pB40
おっそ
32 : 2022/03/31(木) 21:45:46.051 ID:IRtnFq8q0
indexの数値を変数で指定するって話ならもちろん出来るけど
33 : 2022/03/31(木) 21:48:17.638 ID:bSeO7pB40
さっさとしろよ

どの行のどこでエラー起きてたってだけだろ

34 : 2022/03/31(木) 21:49:49.794 ID:IRtnFq8q0
エラーメッセージ的にはunko_listに間違って数値代入しちゃって
そのあとindexアクセスしようとしたとか
そんな感じっぽいけど
35 : 2022/03/31(木) 21:50:38.307 ID:qT9oudus0
かなりの凡ミス
使ってるのはtkinter

labelを3つ生成する
label_listに生成した3つのlabelを格納する
value_1に1を代入
value_2に2を代入

③Enterを押すと、3つのラベルのテキストに、1つ目のlabelにはvalue_1が、3つ目のlabelにはvalue_3を反映される

list_index = [0,2]
この時、1つめのラベルと3つめのラベルのインデックスをlist_indexに格納した数値で指定できないのか?というのが>>1

↓で、これがやらかし
label_list[label_index]["text"] = value_1
label_list[label_index]["text"] = value_2

ただしくは
label_list[label_index[0]]["text"] = value_1
label_list[label_index[2]]["text"] = value_2

数値ではなくてリストそのものをlabel_listのインデックスに指定してしまっていた

ポンコツだったわありがとう

36 : 2022/03/31(木) 21:51:17.821 ID:YrArDB9c0
いいってことよ
38 : 2022/03/31(木) 21:52:14.463 ID:bSeO7pB40
ぜんっぜん1と違うじゃねえか56すぞ
39 : 2022/03/31(木) 21:52:40.184 ID:qT9oudus0
誤字多すぎワロタ
察してくれ・・・
40 : 2022/03/31(木) 21:53:09.381 ID:EH8ck1oG0
長文書こうと思ったら終わってた
よかった
41 : 2022/03/31(木) 21:53:12.736 ID:IRtnFq8q0
あーそういうことね
でも>>1の再現コードはさすがにいい加減すぎないか
42 : 2022/03/31(木) 21:54:06.245 ID:xZt+kZ7Cr
全く違うじゃん
43 : 2022/03/31(木) 21:54:42.865 ID:qT9oudus0
(´・ω・`)すまんな

(´・ω・`)言い訳はないよ

コメント

タイトルとURLをコピーしました