[過去ログ] Pythonのお勉強 Part67 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
157
(1): デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 08:12:53.83 ID:vU8u/TBb0(1/7) AAS
個数なんだからlenだな
ネストしないなら内包表記でもフィルターでも大差ない
むしろフィルターの方が直感的
161: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 10:39:40.85 ID:vU8u/TBb0(2/7) AAS
filter(lambda x: x>n, ln)
[x for x in ln if x>n]

内包表記だとlnが埋没してしまう
式1 for 式2 in 式3 if 式4
という構文が複雑
式1 if 式2 else 式3 for 式4 in 式5
だともっと複雑
162: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 11:18:23.25 ID:vU8u/TBb0(3/7) AAS
処理対象のリストが中間に来ると、ネストした時に
[ ... in list ...]
[ ... in [ ... in list ...] ...]
[ ... in [ ... in [ ... in list ...] ...] ...]
こんな増え方をするので一気に読めなくなる
164: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 11:30:23.10 ID:vU8u/TBb0(4/7) AAS
[x for x if x>n in ln]
という語順でif節は省略可能、みたいな文法だったら、
ネストしても文章になってた筈
167: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 12:10:57.50 ID:vU8u/TBb0(5/7) AAS
内包表記は[x for x in ...]の先頭のxがxじゃない時が本来の使い方で、
x for xでifを付けるなら、それはやっぱりフィルターだと思う
フィルターならフィルターだと書いた方がlambdaがあったとしても読みやすい

癌はmapで、これはどう書いても内包表記の方が優れてる
単純なmapでもそうだし条件が付くならなおさら
171: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 12:36:05.67 ID:vU8u/TBb0(6/7) AAS
インデントまで必要な時点でどうやっても読みにくい
176: デフォルトの名無しさん (ワッチョイ ea3b-udyG) [sage] 2022/06/06(月) 13:19:09.72 ID:vU8u/TBb0(7/7) AAS
ジェネレータにlenが無いのは手抜きではなくて本質的な話だよな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s