Pythonのお勉強 Part64

■ このスレッドは過去ログ倉庫に格納されています
2020/09/14(月) 07:12:53.70ID:+5bseuUi0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに増やすこと。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」をNGワード登録推奨

・エラーを解決したいときは、まず
 エラー文(勝手に省略/スクショうp等の横着禁止)と
 おま環(Pythonのバージョン+OS名IDE名と夫々のバージョン)を書け。

★Pythonのソースコードを5ちゃんに直コピペするとインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをimgur等にうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ●
くだすれPython(超初心者用) その46【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1577948214/

〇前スレ〇 Pythonのお勉強 Part63
https://mevius.5ch.net/test/read.cgi/tech/1582507911/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなってからだいぶ経っつる)### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/04/12(月) 21:27:56.32ID:iOiHPkVCM
>>749
できることもある
dll化もできない
カプセル化できなく管理できない
2021/04/12(月) 21:59:13.33ID:qz6dA5SH0
皆さん、ありがとうございます。

>>747
なるほど、基本的に型宣言が無くてインタプリタだから実行速度が遅いんですよね。
ああ、欠点は実行速度と集約できるかもですね。
ではPythonは豊富なライブラリを弄る程度に留めて、
根幹はJavaかC#かC++で作りますかね。

>>748-749 >>751
exeは出来ますね(作ったことがあります)。
でも、確かにdllは作れそうにないですね。
C++のdllを読むばっかりですものね。

>>750
Djangoのことでしょうか?
自分もDjangoで簡単なWebサイトを作ってみましたが設定が大変でした…。
まだあまり普及してないので情報も少ないですね。

・・・結論として、やっぱりPython一本だけだと心許ないですね。
大規模言語も覚えます。
2021/04/12(月) 22:02:07.71ID:Q/ZYcgv/d
>>752
なんか勘違いしてるな
実行速度は欠点の一つとして挙げただけだぞ
2021/04/12(月) 23:41:35.63ID:hy9D3mum0
>>752
静的型付け言語だと、コンパイル時に型があっていないことについてはエラーを出してプログラムが間違っていると確認できるのが強い。
Pythonみたいな動的言語は変数に何でも入れられるから実行時に初めてわかるエラーとか発生してしまうし、
リファクタリングがやりづらい。
2021/04/12(月) 23:51:11.23ID:qz6dA5SH0
>>753-754
なるほど、静的型付け言語だとプログラムが間違ってるとIDEでいろいろ指摘してくれますよね。
大規模になればなるほど、型の整合性が重要になってきそうですね。
動的言語だと、小さなプログラムならなんとか動くが大きなプログラムになってくると収拾付かなくなりそうですね。
2021/04/12(月) 23:59:54.58ID:z80SpJNy0
Ruby なんて遅くて仕方ないけど、米国年収は最高だよ。
募集人数は、Node.js の半分しかない

AWS のソリューション・アーキテクトは、1,400万円
Ruby on Rails は、1,300万円
Node.js は、900万円

Java なんて速いけど、20年で200万円とかw
GitHub に、銀行のソースコードを公開していた人

Django の募集人数は、Rails の1/10 ぐらいでしょ?

遅いとか欠点なんて、年収・就職に関係ない

https://dev.to/
なんて、Rails だけど世界最速。処理時間0
2021/04/13(火) 00:01:44.35ID:qUgbyQcP0
おっルビおじ
2021/04/13(火) 00:14:08.95ID:YlnYj74B0
3銀行統合プロジェクトは、ピラミッド建設と同じ人月!
1人月百万円 * 数十万月 = 数千億円

でも、Java 土方は、給料20万円しかない。
残りの80万円は多重請負構造によって、数社に分配される

速いもクソも関係ない

だから、YouTube で有名な、雑食系エンジニア・KENTA は、
初心者に、Ruby on Rails 以外を勧めない

低年収だから
2021/04/13(火) 00:32:00.59ID:FveNCngD0
まあガイジは生活保護なんですけどね
760デフォルトの名無しさん (ワッチョイ df01-ksEv)
垢版 |
2021/04/13(火) 01:27:17.80ID:I4gI3mAh0
あわしろ氏もRubyを褒めてた。
761デフォルトの名無しさん (ワッチョイ 62a5-KBiW)
垢版 |
2021/04/13(火) 11:50:38.01ID:1lbWciyF0
ハッシュへの追加が無駄に慎重なのがJava
スクリプト言語は深く考えずけっこうチャランポランにやってる

例外がやたらと多いのがJava
Javaと言えば例外、例外と言えばJava

慎重度合い、病的な気難しさ、高度の心配性、これが向くか向かないかの違い
ツールや言語に引き摺られて人間の精神まで変わるか、最初からそういう傾向のヤツが集まるかは分からないが、
心配で心配でしょうがない不安で慎重すぎる人材が集まると大規模開発が発生する
2021/04/13(火) 12:11:19.61ID:fFGtEPzhM
そう考えると日本人には向きそうだよね
2021/04/13(火) 13:27:51.52ID:aOI1s2+z0
>>746
JavaやC#で銀行の基幹系とかやりたくないな
2021/04/13(火) 15:04:40.40ID:S2ZPcZD90
まあ後は単純にPythonメインでの大型開発案件自体が無いってのもあるな
実際にやるなら型ヒント必須とかにするだろうし、だったら最初からJavaとC#で良くね?になる
(特にデスクトップアプリ作るならそれこそC#で良いし、WebアプリでもSpringが選択肢に入るJavaが出てくる)
2021/04/13(火) 15:51:37.55ID:WoYnxMFx0
大規模案件ほど例外が多くなる傾向があるだろうね
どんなクソ入力されようとエラーで停めるなよ、と
2021/04/13(火) 15:52:01.83ID:WoYnxMFx0
>>763
JavaやC#で銀行の基幹系やりたくないならどの言語使うよ?
2021/04/13(火) 16:28:28.18ID:WoYnxMFx0
Cython的に全部型宣言して使えば、実行速度でも他に引けを取らないし、大規模案件でも使えたりするんかね?
2021/04/13(火) 17:15:04.36ID:Vxk3w1FKa
大規模開発を安く上げたい
そのためには人件費を削りたい
低スペックの人材しか集まらない
底スペックの人材は無茶無茶なコードを書く
Javaはかなりちゃんと書かないと動かない
Pythonはかなりいい加減に書ける

業界の思い込みもいろいろ入っているけど
Javaが採用される理由
2021/04/13(火) 17:36:39.35ID:ch424B+y0
ウィザード級プログラマが良心のある優秀なベテランプログラマを率いるくらいして
どこを見ても常識と性善説が通用するの精鋭チームを隅から隅まで揃えないと
Pythonの大規模開発はすぐ崩壊すると思っていい
現実的じゃない

Pythonが遅いってのはガチでCに比べて5〜10倍遅いとされてるJavaの100倍は遅い
Cythonは使うメリットを感じられない
2021/04/13(火) 17:57:18.07ID:HQ291iiMM
精鋭チームを揃えないとって時点で無理なんだよな
2021/04/13(火) 18:03:12.08ID:CfPnmjiF0
今は全体の規模が大きいからといっても一つの言語で作る必要性は低い
規模は言語に依存しない方法で適切に分割すれば各サブシステムは小規模になる
むしろベンダーが責任持って最後までサポートする言語かどうかのほうが大事
2021/04/13(火) 18:05:59.51ID:Wu9PD3Zea
実行時に型チェックでエラー出ないと複数人の開発はきついよ
Pythonとかの型無し言語の優位性はまずはざっくり動くものを作って成長に合わせて部分的に最適化できるってとこかと
スタートアップには最適だけど大規模前提だときついよね
2021/04/13(火) 18:16:04.91ID:S2ZPcZD90
>>772
結局、型ヒントだったりとかそれに関連するライブラリが増えてる辺り
最終的に型って必要だよね、っていう流れになってきてるしな
他言語だとTypeScriptとかもそういう流れだし
2021/04/13(火) 18:37:04.01ID:WoYnxMFx0
>>773
あアナルほど!
Type(型)Scriptか!
2021/04/13(火) 18:44:49.01ID:arsZDomXD
>>774
*なるほど
動詞のtype(打ち込む)だと思ってたわ
2021/04/13(火) 19:14:29.32ID:Qr7OJO8/0
むしろタイピングとかのほうのタイプのことをわすれてたは
2021/04/13(火) 19:24:13.49ID:ch424B+y0
Python…というか動的型付け言語は大規模開発に向かないというが
実際には複数人開発の時点で既にキツい

精鋭5人で開発したところで必ずメンバーの入れ替わりが発生して
いずれメンテナンスコストの増大に耐えられなくなる
2021/04/13(火) 19:34:43.07ID:/ZU5S8StM
javaやc#をサポートする経済力がpythonとは
桁違いなんじゃないの
pythonと比較するのはnodeだと思うの
2021/04/13(火) 19:51:11.43ID:Wu9PD3Zea
Juliaはその辺組み込んでるけどPythonもいずれ組み込むだろうね
2021/04/14(水) 15:50:39.19ID:qSFMs3PL0
関数の引数が参照渡ししかないのか?
変数のスコープはどうなってるんだこれ?
2021/04/14(水) 16:58:33.16ID:FZAwY2nud
値渡しもあるぞ、判別は空気を読め
変数のスコープは右から左に及ぶし場合によって下から上にも及ぶ
こんなガバガバ言語で中規模以上の開発は無理
2021/04/14(水) 17:20:04.23ID:mzVN7NnP0
pythonは値渡しだけじゃなかったか?
2021/04/14(水) 17:55:48.76ID:5CCb2HIOM
たぶん理解は同じなのに明確に統一された用語がないせいで食い違ってるように思えてるやつ
2021/04/14(水) 17:57:37.37ID:NWDZgyJca
変数がミュータブルかイミュータブルで変わる
引数のリストがタプル推奨なのはこの辺が理由
2021/04/15(木) 15:13:17.28ID:Hr/L3ezh0
初期値空リスト/辞書パターンは探索にすごく便利なのでconsidered harmful化は断固阻止したい
nonlocal/grobalまみれのクソコードを駆逐したい
2021/04/15(木) 15:28:17.11ID:Hr/L3ezh0
というかlocal/global文がbuiltinsに必要ある?
スコープ宣言なんてせずとも、名前空間が全てプレーン辞書のpythonには、lispみたいに環境オブジェクトを保存したり弄ったり、そしてまた戻したりできる能力があるわけで
レキシカルじゃない名前解決が必要なら辞書を持ち回れよ
ビルトインならvars()locals()やglobals()、例え無くてもモジュールでも何でも__dict__晒してるだろ

そのままデフォルト引数にブチ込めば状態保持のカスタムスコープが手に入るだろ
2021/04/15(木) 15:35:32.09ID:Hr/L3ezh0
外のスコープの変数に手を付ける、ってのは既にconsidered halmfulだと思うけど
これって名前空間持ち回り以外に解決策あるだろうか?

デフォルト引数は一度しか初期化されないから特に便利ね
探索終わった後に手動初期化忘れてもう一度走らせると大変なことになるけどな!
2021/04/15(木) 15:44:00.72ID:Hr/L3ezh0
ちょっとマニアックなユースケースに偏ってしまった…
python自体の名前空間を探索アルゴリズムにかけるのは、主にコードウォークやメタプログラミングだな

一般のグラフの探索問題等でも、ミュータブルコンテナデフォルト引数は最も行儀が良いと思う
外部に変数持たなくても関数ブロック一つにカプセル化、今走ってるスタックフレームから参照すれば、常にその視点からの参照という一貫性

我らがbdflも探索入門の記事書いてるけど、確かそうしてたはず
789デフォルトの名無しさん (ワッチョイ bb83-1WRr)
垢版 |
2021/04/15(木) 16:20:21.63ID:cAhjn5hs0
まさに便所の落書きだな
チラ裏
2021/04/15(木) 16:22:31.98ID:Hr/L3ezh0
今のところメーリス等で是非は議題になってはないようだけど、なったらpepの便所に落書きしてくる所存
2021/04/15(木) 16:42:37.58ID:ogE0iY3id
貧者のオブジェクトとしてのクロージャは撲滅すべき
2021/04/15(木) 16:49:32.41ID:Hr/L3ezh0
クロージャ×global/nonlocalコンボは結構見るし、高等テクとして紹介してるサイトすら見かけるな
キャプチャして参照するだけならまだしも…
2021/04/15(木) 16:54:14.56ID:Hr/L3ezh0
python クロージャでクグるとわらわら引っかかるなこれ、完全なアンチパターン
https://gihyo.jp/dev/serial/01/pythonhacks/0001
ミュータブルなlistを更新する必要がありました→そこでnonlocalババーン
なんの為にミュータブルなのか理解してるのだろうか
2021/04/15(木) 16:58:05.44ID:Hr/L3ezh0
なお標準ライブラリにミュータブルな数値も文字列もあるっていうね
2021/04/16(金) 05:20:37.00ID:QCkzJvi10
Jupyter Notebookですか?で、
!python test.py
で、ほかのpythonスクリプトを実行していました

で、今度はそれをローカルの環境で実行したいのですが、
例えば
hoge.py内で
上のtest.pyのスクリプトをキックしたのですがどうすればいいでしょうか?
2021/04/16(金) 06:57:49.34ID:QCkzJvi10
ランピーさん使ってみます
runpy
2021/04/16(金) 07:05:34.82ID:wn75Zjq40
Pythonとは別の方向性でC並に害悪プログラマを生みやすい言語だよね
2021/04/16(金) 07:06:10.91ID:wn75Zjq40
変な日本語になってしまった
正 PythonはCとは別の方向性で〜
2021/04/16(金) 07:43:29.10ID:QCkzJvi10
うわーーん
run_pathだとModuleNotFoundで実行できん
2021/04/16(金) 07:56:45.03ID:QCkzJvi10
sys.path.append()とかしたらいけました
2021/04/18(日) 17:14:24.70ID:CMmk+mnY0
プロジェクトディレクトリ
 |-test
| |-test_foo.py
|-main,py

こういう感じの構成しちゃうと、test_foo,pyから見た時に
main.pyが上位ディレクトリに配置されるから、相対インポートで上位ディレクトリを指定するとエラーになる問題が起きて
仕方なくsys.pathとかでルート追加するんだけど、なんか間違ってる気がする……
802デフォルトの名無しさん (アウアウウー Sa1b-2sL5)
垢版 |
2021/04/18(日) 18:46:36.38ID:PS75IPPya
# 気になる言葉をクリップボードにコピーした後に>>632のpyperclipを使って
# 指定のメモ用テキストファイルに追記
import pyperclip, getpass
clipb = pyperclip.paste() + '\n'
print('コレを指定のファイルに追記:' + clipb)
user = getpass.getuser() # ユーザー名を取得
open("/home/" + user + "/Documents/memo.txt",'a').write(clipb) # 追記モード('a')でopen
# 失敗.
# open("~/Documents/memo.txt",'a').write(clipb)
# open("$HOME/Documents/memo.txt",'a').write(clipb)
803デフォルトの名無しさん (ワッチョイ 9f36-LfmL)
垢版 |
2021/04/18(日) 20:52:50.82ID:dizANDxf0
open().write

この手の書き方って普通なの?
open()なんて結構失敗する可能性が高いじゃん。
どうしても馴染めないw

f = open()
f.write()

もしくは、

with open() as f:
 f.write()

にしたい。
2021/04/18(日) 21:05:13.59ID:qHYw4Dd30
>>803
closeしないのはお行儀的に良くないので普通ではない
open -> write -> closeをone shotでやりたければpathlibのwrite_text
2021/04/18(日) 21:06:26.11ID:FVCnZJxc0
他で例外キャッチとかしてれば良いんじゃない?
2021/04/18(日) 21:14:20.17ID:qyelpH95d
>>805
行儀悪い
2021/04/18(日) 21:33:38.92ID:KvIeL27F0
>>803 のいずれの例も例外処理とセットになるものにも思えるが
2021/04/18(日) 21:40:35.71ID:nlaPamEC0
pythonが~やら$HOMEやらのシェル変数を展開できんだろ
2021/04/18(日) 21:43:19.31ID:q3rCzQ3dM
ネストしていけるのも便利だから
ネストの塊を関数としてみればいいのでは
いいか悪いかはその塊による
2021/04/18(日) 21:45:28.19ID:SZzrtLk80
このopenは我々の知っているopenではないかもしれない
2021/04/18(日) 22:07:26.38ID:T1oP4O/e0
"~"も"$HOME"もpythonからは単なる文字列にしか過ぎない

import os
open(os.getenv("HOME") + "/Documents/memo.txt", "a")
2021/04/18(日) 22:07:40.08ID:Q1kVqm310
https://qiita.com/neko_the_shadow/items/09ff3a423954a2adfe18
2021/04/18(日) 22:39:44.96ID:qHYw4Dd30
pathlibでPath.home()とかexpanduser()とか使えるよ
Path(‘~/path/to/file’).expanduser()
2021/04/19(月) 08:44:09.55ID:wJLYJwE7M
>>805
fileオブジェクトが残ってないからキャッチしてもクローズできないじゃん。
試してないけど再度openしようとしたら失敗するかgcが回収するまで待たされる気がする
2021/04/19(月) 11:04:03.16ID:8re1FBPZ0
またガッベッジコレックションでてきたこれ!
2021/04/19(月) 12:10:21.74ID:wJLYJwE7M
>>815
一緒に回収されたいんか?
2021/04/19(月) 13:09:56.93ID:8re1FBPZ0
くやしいわろたwww
2021/04/19(月) 19:13:44.89ID:nEpTcudsr
Pythonと組み合わせがいいSQLってsqlliteなんですか?
「Python SQL」と検索するとこればかり出てくるんです
2021/04/19(月) 19:37:59.07ID:cAtgxduAM
>>818
そりゃpython sqlとかでググるような初心者ならサーバー立てなくていいsqliteが簡単でいいわな
2021/04/19(月) 21:39:50.48ID:ZVFLPhBo0
Pythonの操作が全部頭に入ってるような
サイコなPythonPGなら
PostgreSQLで
2021/04/20(火) 02:30:09.26ID:t7QTcT+T0
>>818
> Pythonと組み合わせがいいSQL

とは何ぞや。
2021/04/20(火) 08:06:06.71ID:Q0MmVqg3d
フレームワークと相性が良いSQLはともかく、言語と相性が良いとは
2021/04/20(火) 08:15:41.49ID:zZDizZln0
sql99で書いてるうちはドライブ先はなんでも良いんじゃないの?
フリーで手軽って意味でsqliteだったんだと思う。
嫌なら自分で変えるヨロシ
2021/04/20(火) 11:11:30.00ID:7xfghfsY0
SQLite, MySQL, PostgreSQL が3大データベース

Ruby on Rails でも、開発環境ではSQLite。
本番環境では、MySQL, PostgreSQL

Amazon Linux でも、Aurora が、MySQL, PostgreSQL 互換で、
最大数倍速くなるように、カスタマイズされている

EC2 に、自分でデータベースを入れても、速くならない。
Aurora のみ
2021/04/20(火) 12:34:24.93ID:ZzbiSkpt0
推奨NGワード: Ruby
推奨NGワード: Rails
826デフォルトの名無しさん (ワッチョイ 9f36-LfmL)
垢版 |
2021/04/20(火) 13:28:44.38ID:rnIFW1Lz0
よくデータベースのカキコ見かけるけど、なんに使うの?仕事?
2021/04/20(火) 13:54:17.36ID:UlsxkGg7D
モンハンのスキル値計算したりとか
2021/04/20(火) 13:59:24.14ID:v3OtCzj2M
>>826
個人でもちょっとしたデータ処理するなら使うでしょ
家計簿とか住所録とか
ソートとかを自分で書いてもいいけどsqliteとか使ったほうが楽
2021/04/20(火) 14:19:40.95ID:YStzcIe+0
CSVにゴソゴソ書いてもいいけど遅いし壊れる
2021/04/20(火) 14:22:03.71ID:TajtxNdD0
時々くだすれと混ざるよねここ
両方見てる人が多いんだろうけど
2021/04/20(火) 15:00:17.22ID:OntG3LnGM
えっ、その程度?
エクセルで十分なのでは…
2021/04/20(火) 15:12:56.51ID:ZUNvehNP0
ぷあまんえくせるもってないネー
2021/04/20(火) 15:16:05.00ID:ZzbiSkpt0
googleのスプレッドシートならquery関数使えるぞ
2021/04/20(火) 15:50:29.59ID:V6f03X980
そう思う人はExcel使うだけ
2021/04/20(火) 15:54:50.26ID:OntG3LnGM
>>833
まんまSQLでワロタw
こんなんあんのかい
836デフォルトの名無しさん (コムイーン 0G4f-B9Cj)
垢版 |
2021/04/20(火) 16:03:12.74ID:2rpqWpDRG
numpyの配列[0 1 2 3 4 ]を[[0 1 2][1 2 3][2 3 4]]にしたいのだけど、
スマートに行う関数ってありますか?学が無くてこういう処理なんていうのか
わからないから調べることもできてなくて困ってます。
2021/04/20(火) 16:21:31.61ID:M498RvNd0
original_array = np.array([0,1,2,3,4])

np.array([array for array in zip(original_array[:-2], original_array[1:], original_array[2:])])

じゃダメなん?
838デフォルトの名無しさん (コムイーン 0G4f-B9Cj)
垢版 |
2021/04/20(火) 16:33:44.21ID:2rpqWpDRG
>>837 教えてくれてありがとう。
forで回すのは速度遅いのかなって思ってて、
convolve()みたいな移動平均出せる関数があるなら、
これできる関数もあればいいなと思ってるのですが、
convolveも中身はforで回しているんですかね。
2021/04/20(火) 16:55:47.47ID:7xfghfsY0
Ruby なら、重複有り/無しの繰り返しは、

p ( 0..4 ).each_cons( 3 ).to_a
#=> [ [0, 1, 2], [1, 2, 3], [2, 3, 4] ]

p ( 1..8 ).each_slice( 3 ).to_a
#=> [ [1, 2, 3], [4, 5, 6], [7, 8] ]
840デフォルトの名無しさん (コムイーン 0G4f-B9Cj)
垢版 |
2021/04/20(火) 17:00:55.85ID:2rpqWpDRG
>>839 Rubyって便利ね…
841デフォルトの名無しさん (コムイーン 0G4f-B9Cj)
垢版 |
2021/04/20(火) 17:06:04.77ID:2rpqWpDRG
二人ともありがとう、python each_cons で調べても
for使っているみたいだったしそれでいこうと思う!
2021/04/20(火) 17:10:22.48ID:7n462IvCa
データベースの利用目的も分からない人がプログラム組む時代か
色々考えさせられるな
2021/04/20(火) 17:28:27.45ID:zZDizZln0
スプシのquery便利だけど
でかいデータ貼り付けする事自体が重いのが難点。
データ量、カラム数で使い分けてる。
2021/04/20(火) 17:46:33.16ID:rO/yaUaqM
>>831
別に正解は1つじゃないでしょ
ExcelでVBAなんて死んでもヤダ、PythonでCOMなんてありえない
ってやつも居るだろうし
(まあ俺のことだがw)
2021/04/20(火) 17:49:38.03ID:m/LBLUGkr
>>841
a=[0, 1, 2, 3]
b=[[i-1, i, i+1] for i in a[1:]]とかでしょ
2021/04/20(火) 18:20:51.91ID:KMnW7zDR0
>>836
numpy1.20以上ならsliding_window_viewが使える
配列の要素数が多くなると速度差結構出る
847デフォルトの名無しさん (ワッチョイ ff35-B9Cj)
垢版 |
2021/04/20(火) 19:05:52.72ID:0SLE9Fks0
>>846 私836です、本当ありがとうございます!
理想的な関数です助かりました!!!あなたをnumpyの神と
崇めながら今日は眠ります。
848デフォルトの名無しさん (アウアウウー Sa1b-2sL5)
垢版 |
2021/04/21(水) 06:01:25.52ID:89ApipZ+a
# >>802以降で教わったことを使って
# クリップボードのテキストをYoutubeで検索した後に
# 指定の記録用テキストファイルに検索語句を日付と共に追記
import locale, datetime, math, pyperclip, re, webbrowser, os
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
now = datetime.datetime.now()
today = now.strftime( '%d' )
div7 = int( today ) / 7
if type( div7 ) == int: num = str( div7 )
else: num = str( math.floor( div7 + 1 ) )
hiduke = now.strftime( '%Y/%m/%d/' + '第' + num + '%A' + '/%H:%M/' )
clipb = pyperclip.paste()
# 半角#から始まる語句をquery=以降に足してwebbrowser.open()で開くと失敗するので全角の#に変換
pattern_sharp = re.compile( r'^#' )
if bool( pattern_sharp.search( clipb ) ): clipb = clipb.replace( '#', '#' )
else: pass
url_yt = '=yreuq_hcraes?stluser/moc.ebutuoy.www//:sptth'[::-1] + '\'' + clipb + '\''
webbrowser.open( url_yt )
fw = open( os.getenv( "HOME" ) + "/Documents/youtube.txt", "a" )
fw.write( hiduke + ' ' + clipb.replace( '\n', '' ) + '\n' )
fw.close()
849デフォルトの名無しさん (ワッチョイ 57d2-r8nu)
垢版 |
2021/04/21(水) 13:53:44.37ID:KYHTyWcc0
>>836
def f(n, a):return [a[i:i + n] for i in range(len(a)-n+1)]

print( f(3,[3,1,4,1,5]))
---
[[3, 1, 4], [1, 4, 1], [4, 1, 5]]
850デフォルトの名無しさん (コムイーン 0G4f-B9Cj)
垢版 |
2021/04/21(水) 15:26:55.69ID:TxR5y8a9G
>>849
ありがとう!もしfor使うしかなかったら、それを採用してました!
多分lenをshapeにかえたかもしれませんが。

>>845
も考えてくれてありがとう!私の質問の仕方が悪かった、ごめん!
扱いたいのは非線形だから[3,1,4,1,5]みたいな物だったんだ!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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