【まず1嫁】くだすれPython(超初心者用) その57

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2022/08/08(月) 18:30:45.48ID:VXkV51Mv
>>746
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…

あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
752747
垢版 |
2022/08/08(月) 19:28:04.38ID:ej7caoJh
>>748-750
ありがとうございます

すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
2022/08/08(月) 19:40:14.54ID:Rerux/uK
>>752
None を bool として評価すると False になる
754デフォルトの名無しさん
垢版 |
2022/08/08(月) 19:41:18.38ID:wsYAfPSE
>>752
NoneはFalse
bool()で非ブール型もブールに変換した上で解釈される
2022/08/08(月) 20:06:39.11ID:UzajzKaJ
右辺はboolとしてなんて評価されません
適当なことを言うな
https://wandbox.org/permlink/gk6gdiVzpzvoPWfI
2022/08/08(月) 20:15:13.65ID:EDIALeRU
>>755
評価時に__bool__が呼ばれます。if とかで使うと出力される。
2022/08/08(月) 20:33:20.93ID:EDIALeRU
左だとすぐに呼ばれるのに対して違うんですね理解しました
2022/08/08(月) 21:21:18.46ID:icSMNlYR
文字列の置換って
translate()とreplace()のいいとこ取りの置換方法ないの?

translate()は
"aa"→"b"
にできないんだよね?

あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
2022/08/08(月) 22:27:42.98ID:GdyVfCQX
>>758
文字列をmappingベースで置換したいならflashtext使うといいかも

2つ目のはAAA, BBB, CCC, DDDをコレクション(dict, list, tuple等)にする
760デフォルトの名無しさん
垢版 |
2022/08/09(火) 11:17:14.43ID:6xBGELHM
フォルダパスとファイル名とURLを書くと画像を保存してくるコードを書いたんだけど
https://techiedelight.com/compiler/?BQkA

エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
2022/08/09(火) 13:25:52.34ID:804xd0t9
raw文字列
2022/08/09(火) 14:13:10.80ID:6cdAV71K
バックスラッシュの代わりに、スラッシュを使う
でもいい
2022/08/09(火) 14:27:14.68ID:reKZbZGW
raw文字列、joinpath、with_suffix
2022/08/09(火) 16:46:37.99ID:904t2Z05
pathlib一択でしょうね
2022/08/09(火) 17:34:17.89ID:VX/MyXfz
HTTPErrorやIOErrorのハンドリングもやったほうがいいよ
766デフォルトの名無しさん
垢版 |
2022/08/09(火) 17:48:28.39ID:/U/bpI39
外部からの入力系は全部
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
2022/08/09(火) 18:07:25.22ID:RasYFqXo
外部とのやり取りは一筋縄ではいかないからねえ
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
2022/08/09(火) 18:28:07.98ID:Lt/MnBAv
>>766
それ普通じゃね?
2022/08/09(火) 21:17:15.16ID:DxAePLof
わざわざtryしなくても例外が起きると止まるっしょ
2022/08/09(火) 22:15:13.78ID:v2aJaQdL
わざわざブレーキつけなくても事故れば止まるっしょ
2022/08/09(火) 23:22:34.01ID:xxgft6hm
>>760
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?

Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
772デフォルトの名無しさん
垢版 |
2022/08/09(火) 23:25:51.13ID:KqAyUORM
>>771
前半、バックスラッシュを使わなくてもアクセスできる。
後半、スレチ。いちいち書くな。
773デフォルトの名無しさん
垢版 |
2022/08/09(火) 23:34:41.82ID:oM0lzHLp
合わせてバックストレッチ。
774747
垢版 |
2022/08/09(火) 23:46:35.97ID:8UDvOyKH
レスが遅くなってすいません
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
775デフォルトの名無しさん
垢版 |
2022/08/10(水) 00:02:07.83ID:DjE5xMJT
>>769
普通はエラー処理系にraiseするからtry節置くと思うが
2022/08/10(水) 02:29:00.47ID:kx7L/9BB
なにが普通かは人による
2022/08/10(水) 03:50:21.12ID:obfeaPUq
なぜこの関数が作られたのかを考えながらプログラム書くとすっきりする
2022/08/10(水) 10:26:29.49ID:rR8/AFmc
Enum 列挙型という概念を初めて知ったが
使い所がよくわからない
2022/08/10(水) 12:53:32.14ID:vnHVeG1e
関数をローカル変数に代入するメリットって何でしょうか?
2022/08/10(水) 13:19:15.14ID:8RUvvZbB
何度も同じ計算をしないで結果だけ繰り返し使える
2022/08/10(水) 13:33:33.79ID:bGy3yklD
場合によるけど、処理前半でローカル変数に関数を代入しておくことで、処理後半の分岐が消えて見通しが良くなる可能性はあるかも。
何らかの理由でリネームしたかったとか?
2022/08/10(水) 15:00:50.94ID:vnHVeG1e
ありがとうございます
2022/08/10(水) 15:59:42.31ID:WlLD55gQ
>>779
同じコードで呼び出す関数だけ違うパターンって結構あるから
ソートとか
2022/08/10(水) 17:43:12.15ID:YLnkT8Qt
>>779
ループ内で毎回foo.bar()するよりも
ループの外でbar = foo.barして
ループ内ではbar()だけにすると微妙に速くなる
785デフォルトの名無しさん
垢版 |
2022/08/10(水) 21:48:18.68ID:5JgNVH0W
かけるかな
786デフォルトの名無しさん
垢版 |
2022/08/11(木) 07:13:22.60ID:HPSk7Pik
https://i.imgur.com/FBcOaIq.png
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
2022/08/11(木) 07:56:07.13ID:X31RE6bn
>>786
設定したfiltersがcrawlに設定されていない
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
788101
垢版 |
2022/08/11(木) 09:45:20.53ID:fCiqpa8j
英語って本当にプログラムに適してるのか?
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
2022/08/11(木) 10:00:41.98ID:nadsErGw
キャメルケースとかスネークケース使えよ
790デフォルトの名無しさん
垢版 |
2022/08/11(木) 10:13:40.52ID:ECrQVbq4
atoi
791デフォルトの名無しさん
垢版 |
2022/08/11(木) 11:12:03.43ID:m7iYSaV1
>>788
少なくともあんたはプログラムに向いてないな
792デフォルトの名無しさん
垢版 |
2022/08/11(木) 12:26:10.60ID:fKEJQx+N
https://i.imgur.com/HJTruLr.png
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
2022/08/11(木) 12:46:20.99ID:7cUH/Z7I
×(かける)じゃなくて x(エックス)じゃねーの?
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
794デフォルトの名無しさん
垢版 |
2022/08/11(木) 13:47:35.08ID:fKEJQx+N
>>793
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler

google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
2022/08/11(木) 13:58:15.94ID:7cUH/Z7I
エラーもコピペしてくれよ...
796デフォルトの名無しさん
垢版 |
2022/08/11(木) 14:07:01.78ID:fKEJQx+N
>>795
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
2022/08/11(木) 15:00:05.18ID:7cUH/Z7I
>>796
バグかも...
https://github.com/hellock/icrawler/issues/107
798デフォルトの名無しさん
垢版 |
2022/08/11(木) 15:15:10.72ID:fKEJQx+N
>>797
バグですか...ありがとうございます。
他のコード、1024×768のサイズの画像のみを収集するには、
どうすればいいですか?
2022/08/11(木) 15:27:49.52ID:JwgkCgjA
めちゃ無駄だけど1024x768以外の画像は捨てちゃうぐらいしか思いつかん...
2022/08/11(木) 16:47:42.06ID:X31RE6bn
>>798
できました、min_sizeとmax_sizeも指定する必要があるみたいです
Python3.10でやりました、TypeErrorにはなりませんでした

google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10, min_size=(1024, 768), max_size=(1024, 768))
801デフォルトの名無しさん
垢版 |
2022/08/11(木) 18:48:40.17ID:fKEJQx+N
>>800
ありがとうございます。早速、試してみましたが、
バージョン違いのためかNameError となりました。
現在、Python 3.9.12 のバージョンなのですが、
ColabでPython3.10にするにはどうすればいいですか?
2022/08/11(木) 18:56:22.30ID:X31RE6bn
エラーもコピペしてくれよ...
2022/08/11(木) 19:26:39.81ID:L6VcpDZr
バージョン違いって断定してるんだからそれでいいだろ
他の可能性を検討しようとするなよ
2022/08/11(木) 19:33:40.56ID:RPSv5K1g
そんな能力あるのになんでColabのバージョンは変えられないの?
2022/08/11(木) 19:36:46.54ID:X31RE6bn
>>801
Python 3.9.7が残っていたからicrawlerインストールして>>800実行したら
問題無くできたのでPython3.9.12でもできるハズ
Colabが悪いのではないでしょうか?
2022/08/11(木) 19:38:03.60ID:m6fa3uRQ
windowsの3.9.13でも問題ないな
ちゃんとgoogleの検索結果取得できてないか、htmlパースに使ってるbeautifulsoup4かlxmlがおかしいかかな
2022/08/11(木) 20:01:15.15ID:X31RE6bn
>>801
まさかだけどNameErrorって、NameError: name 'GoogleImageCrawler' is not defined じゃないよね?
>>800の前にfrom icrawler.builtin import GoogleImageCrawler してるよね?
808デフォルトの名無しさん
垢版 |
2022/08/11(木) 20:18:34.40ID:fKEJQx+N
>>807
ありがとうございます。早速、試してみましたが、
見事に解決しました。
>>800
改めてありがとうございます。
お陰さまで、1024×768のサイズの画像のみを収集することができるようになりました。
2022/08/11(木) 20:24:18.19ID:7cUH/Z7I
>>807
せめて>>794ぐらいは見てから書きなよ...
まあエラーのコピペ待ちでいいかと
2022/08/11(木) 20:25:02.29ID:7cUH/Z7I
>>808
えっ、まじで>>807だったの?...
2022/08/12(金) 05:55:29.63ID:vrgQH6RZ
(超初心者用)
812デフォルトの名無しさん
垢版 |
2022/08/12(金) 11:12:46.10ID:OS8SYcAO
jupyternotebookでセル内のコードが長くなるため,
defで定義した関数を同一ディレクトリ内のmy_func.pyに保存し
メインのコードmain.py 内でimportすることにしました.

my_func.pyに保存した関数内では,numpyを使っているのですが,numpyが認識されません.
main.py でnumpyをインポートしていますが,その効果をmy_func.py内に待避した関数に及ばせるためには
どうすればよいでしょうか.
813デフォルトの名無しさん
垢版 |
2022/08/12(金) 11:54:38.42ID:V16IFZ6j
my_func.pyでnumpyをインポート
2022/08/12(金) 13:39:22.16ID:f9Pn84YJ
>>813
ありがとうございます。早速、記入してみたのですが、
my_func.pyでnumpyが認識されました。
main.py内にインポートしているnumpyどうすればいいですか?
815デフォルトの名無しさん
垢版 |
2022/08/12(金) 14:10:01.68ID:AKRIAlbQ
main.pyでnumpyを使っていなければいらない
816デフォルトの名無しさん
垢版 |
2022/08/12(金) 15:01:37.64ID:P/MIlql5
そのライブラリを直接呼ぶコードがあるファイル毎にimportする。直接呼ばないなら不要

main.py
__import funcs

__funcs.test()


funcs.py
__import numpy

__def test():
____print(numpy.random.randint(0, 10))
2022/08/12(金) 15:14:18.69ID:f9Pn84YJ
>>815
>>816
ありがとうございます。早速、試してみましたが、
見事に解決しました。
818101
垢版 |
2022/08/12(金) 16:36:29.89ID:SBMPsz73
普通、FunctionalをFucって略すか?


幻塔というゲームのテスト用のサーバーネームが
JP Fuc Test Server
だったらしく炎上してた
2022/08/13(土) 03:28:02.47ID:nuG2c1c/
mypyでエラーにならないように pathlib.Path の型を示したいんだが、これはどうすりゃいいのかね?
type()でチェックすると
<class 'pathlib.WindowsPath'>
となるんだが pathlib.WindowsPath と指定してもエラー出るし
2022/08/13(土) 03:32:04.91ID:nuG2c1c/
動的な基底クラスはmypyでチェックできないって言ってる人がいたわ
そういうことなのか?
821デフォルトの名無しさん
垢版 |
2022/08/13(土) 03:54:53.99ID:xLCZiP8v
pylanceだとpathlib.Pathでいけるけどmypyあかんか?
2022/08/13(土) 07:30:43.65ID:nuG2c1c/
>>821
お、いけたわ
さんくす
823デフォルトの名無しさん
垢版 |
2022/08/14(日) 04:23:42.79ID:aYzApZcG
pythonでcuda使いたいが、お勧めのサイトありますか?
ちなみにcudaは3090とかの方がいいですか?
2022/08/14(日) 09:47:31.64ID:7VRuM4Xa
にほんごでおk
825デフォルトの名無しさん
垢版 |
2022/08/14(日) 10:12:56.20ID:A6qxvdf0
[python cuda]🔍
2022/08/14(日) 11:25:05.75ID:Gnb69e0i
Noneの比較はis を使うべきで==を使うべき"でない"なんて記述を見かけるのですが、

if dictData.get('key') == 'hogehoge':
__echo 'OK'

例として辞書のgetメソッドのようにキーが無ければNoneを返すような場合で上記のような判定もすべき"でない"のでしょうか?
この場合dictData.get('key', '')のように、キーが見つからない場合の値を明示的に書くべき?
(ただdict.get()のようにコントロールできないのもありますよね)
2022/08/14(日) 12:06:39.34ID:KzxSNF0d
if hoge is None:
こんな風に定数Noneと比較する場合の話だよ
828デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:18:23.17ID:T9w5rPHY
Noneを==すると稀にNone==None ->Falseあるから避けよう。バグのもと。これはググれば解説あるから読んで

で、普通は
if dic.get('key') == 'foo':
__func()
だけでしょう。あればする、なければ終わり

if dic.get('key') == 'foo':
__func()
else:
__func_b()
でもいいけど。

基本的にNoneやFalseを判定しにいかない。まずTrue判定をして、その反対をelse (if)で受ける

ただまあNone / Falseだけを知りたい場合があって
そのときは
if dic.get('key') is None:
__func()
などと書く。英文として読みやすいからよい

つか辞書から無い可能性あるkeyのgetは避けたい
db検索的に書きたいならget使わずtry節書いてKeyError専用処理作ろう
2022/08/14(日) 12:29:39.79ID:Gnb69e0i
>>827,828
なるほど、明示的にNoneであることの比較の場合はということですね。ありがとうございます。
>>828さんの最後の件も承知しました。
2022/08/14(日) 12:34:40.20ID:Gnb69e0i
>>828
あ、やっぱりすみません、最後のget使うべきでない理由って簡単に教えていただけますか?
今回、API等の応答で、辞書の目的のキーがあったりなかったりするような応答で、キーがあれば拾う、無ければ無視、という単純なものなのですが、それでもgetは使わないほうが良かったりしますか?
831デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:41:52.12ID:VI2zLni0
>>682
1000%同意する
832デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:45:09.72ID:Xz0meKRj
>>830
dict['key']が存在してvalueがNoneの場合にTrueになっちゃうから、キーの不存在判定だけしたいなら'key' in dictの方がいいんじゃないかな
833デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:50:22.70ID:T9w5rPHY
>>830
エラーは出ていいんよ
逆に握りつぶしちゃいけない
というかgetってなんのためにあるんだ?

try:
__dic[input()]:
____print('ある')

except KeyError:
__print('ねえわ')

except Exception as e:
__print(e.__class__.__name__)

外部入力受け付けるのって鬼門なんでこういう感じで書きたい
keyerrorは想定できるし、別の意図してないエラーも拾いたいだしょ
834デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:51:39.01ID:T9w5rPHY
>>833
しつれい
try:
dic[input()]
print(1)
835デフォルトの名無しさん
垢版 |
2022/08/14(日) 12:53:45.52ID:A6qxvdf0
>>830
その用途なら、getでもいいんじゃない?
>>832が言う様な違いはあるけれど、キーが不存在でNoneが返る場合と、キーが存在するが値がNoneの場合とを、区別する必要があるかどうか、考えて決めれば良いよ
2022/08/14(日) 15:22:06.37ID:nJs5efs8
キーに階層があって、途中のキーがなかったりすることがある場合なんかだと、
区別する実益はあるかもしれんね
一応、.get('key', {}) なんて方法もあるけど
2022/08/14(日) 15:22:39.42ID:Gnb69e0i
>>832
失礼しました。最初の例ですとおっしゃるとおりですね。内容まで取得するケースも想定してました。

>>833-835
ありがとうございます。要件などふまえ考えてみます
838デフォルトの名無しさん
垢版 |
2022/08/14(日) 16:52:51.09ID:T9w5rPHY
ああわかった

db['key1': 0, 'key2':0,,,]
if key1:
__print('ある')
else:
__print('ない')

こんときgetじゃないといかんのだな
あるいは

try:
__value = db[a'']
__print('ある')
except KeyError:
__print('ない')
except:
__print('未定義エラー')
2022/08/14(日) 22:47:50.08ID:549c+n4K
Ruby の偽は、nil, false だけ。
これ以外は真

でも、Python, PHP, JavaScript などは、
各型に偽値がある。空文字列・空配列・空辞書など

だから、とんでもなくバグるし難しい。
すべての型の可能性を考えないといけない

文字列型・配列型・辞書型ならとか。
だから、TypeScript みたいな型チェックツールが作られた
840デフォルトの名無しさん
垢版 |
2022/08/14(日) 22:57:22.86ID:I2sSNpX6
>>839
死ね
841デフォルトの名無しさん
垢版 |
2022/08/15(月) 09:22:07.96ID:c1YCm0IS
>>838
どういうこと?
842デフォルトの名無しさん
垢版 |
2022/08/15(月) 13:07:09.65ID:RvdaGkLE
>>841

dict['key'] = value

dict.get('key') = value

取得したvalueがFalseになるとき、つまり0とかNoneとか空白のとき
if dict['key'] is not True になる。値はあるにも関わらず
一方
if dict.get('key') is Ture なので、期待する挙動としてはgetのが正しい

値がダミー(0など)の辞書の用意とかありうるので
843デフォルトの名無しさん
垢版 |
2022/08/15(月) 14:06:42.23ID:0GtlIRwB
ああそういうことか
re.matchとかre.searchみたいなことをやりたいのか

辞書のキーがあるかないかbooleanの判定と値への処理は別の方がいいと思う
if 'key' in dでもKeyError処理はどっちでもいいけど
2022/08/15(月) 15:15:52.94ID:gMKahu5b
>>842
keyに対するvalueが0やNoneの時に
dict.get(key) is Trueにはならんやろ

dict.get(key, [default])を使うのは
keyに対応する値がデフォルト値の場合と
keyに対応する値が無くてデフォルト値が返される場合を同じように処理したい時だけ

bool判定したいならin演算子
KeyError使うのはkeyが存在しない状況が例外的な場合
845デフォルトの名無しさん
垢版 |
2022/08/15(月) 15:38:01.56ID:RvdaGkLE
>>844
ありゃならんな
これはすまん。なんか勘違いしとった。

stackoverflow why dict.get(key) instead of dict[key]?
参照
846デフォルトの名無しさん
垢版 |
2022/08/15(月) 19:52:08.21ID:KlKo2Eqq
わざわざメソッドとして用意されるほどの価値がないんだよなあ
2時代は重宝したのかな
2022/08/15(月) 20:37:42.59ID:Xxg2cjph
if (val := dic.get(key)) is not None:
は使うけどな
2022/08/16(火) 04:15:40.22ID:MkpTU7zo
次のコードがあります
h=[[[]]]*10
h[0].append([0,0])
理想としては
>[[[], [0, 0]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]], [[]]]
となってほしいのですが、現実は
>[[[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]], [[], [0, 0]]]
となってしまいます
どうしたら理想の形になるでしょうか?
2022/08/16(火) 07:26:37.30ID:GKkpSlmU
内包表記使って初期化
850デフォルトの名無しさん
垢版 |
2022/08/16(火) 08:04:39.39ID:9vnyTUy7
[[[], [0, 0]] if i == 0 else [[]] for i in range(10)]
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況