Pythonのお勉強 Part54 [無断転載禁止]©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
dat[0, :] = x
これは何ていう記法?
コンマが無ければただのスライシングだけど…
オライリーの本2冊持ってるけど出てない (^q^)「しりとりってどうやったらできますかあーーー?」(大声)
l=[]
#x=int(input())
#[l.append(input()) for i in range(x)]
l=['O','K','N','I','T','O']
[print(i) for i in reversed(l)] タプルを返す関数つくるのに
return (a,)
とか書く人いるけど全く無駄だよな
return a,
でいい 可読性において return (a,) の方が圧倒的に優れている シーケンスの要素にタプルを格納できるのはもちろん知ってるけど
インデクシングやスライシングのためにタプルを指定するという事はつまり何なんだ…
この辺きちんと理解できてなかったな。もう少し考えてみる >>809
おっ、お前もいっちょ前にようやく覚えたんか
そりゃ覚えたら、使ってみたい年頃や >>816はレス番間違いや
正しくは>>808な
マジで宇津田氏脳や >>810
ダウト
>>> 1,
(1,)
>>> 1,,
SyntaxError: invalid syntax
>>> 1,,,,
SyntaxError: invalid syntax pythonをはじめてnumpyとmatplotlibで遊んでて
あまりにグラフの表示が遅かったのでpyopenglに行って作ったのだけど
せっかくpythonを使っているのにあまりライブラリを生かしている気がしません
で、Pythonらしく、物体検出が面白そうなpypenCVに行こうかなと思っているのだけれど
pyopenCVに行くならこれは勉強しておけみたいな事があれば教えてください
結構バグがあるという噂を聞いたのでちょっと怖い >>822
>pyopenCVに行くならこれは勉強しておけ
C/C++ >>824
いやなら site.py_ みたいに rename >>826
やってみる
一応python3.4と3.6の仮想環境作ったら問題なかったからデフォルトのpython3.5が邪魔してる感じなのかな >>814
if文とかでも、andやorを併用するときは、条件をパレンで囲ったほうがわかりやすい場合もある
基本的に非推奨みたいだけど、JSの時のクセで、単一条件でもついやってしまうわ parenthesis
bracket
brace >>829
パーレン()
ブラ<
ケット>
スケブラ[]
カリブラ{} >>830-832
ブラケット、スクエアブラケットは知ってたけど'()'ってパーレンって言うのか
普通に括弧って呼んでた アマでざっと見た感じ
PythonユーザのためのJupyter[実践]入門 空の配列って連番作成できないの?
L=[]
R=[]
とか、毎回書いてるんだけど、面倒だからA-Zまで上記の方式でまとめて作成できない? >>836
変数をリストに入れてループで回せばいいだけじゃん >>836
毎回プログラムで
プログラムをファイルに書き出す
プログラムをつくれば
いいんじゃないかな? >>836
そんなことしなきゃいけないロジックに問題があるのでは? >>836 できましたぁ!
>>> from collections import defaultdict
>>> d = defaultdict(lambda:[])
>>>
>>> d['A'] = [1,2,3]
>>> d['A']
[1, 2, 3]
>>> d['B']
[]
>>> d['B'].append(3)
>>> d['B']
[3]
>>> d['C']
[]
>>> d['Z']
[]
>>> >>836
おそらくロジックを変えたほうが良いが、どうしてもというならできないこともない
https://ideone.com/nj0ZjO A.append(123)とか書いたら name 'A' is not defined
と出るので、仕方なく A=[] と毎回かいてる。
とりあえず、>>843を使わせて頂きます。
ありがとうございました。 みんなこの質問でよくわかるな。質問の内容自体が理解できないわ。 質問なのですが
pythonで書いたコードを実行中に
一分後にコードをすべて再実行するロジックを入れたいのですが
どういったコードをかけばいいでしょうか sleep()とかwait()みたいな関数なかったっけ sleep とかの 一時停止後の再実行ではなくて
計算したのをすべてなしにして
初めから再実行をかけたいんですよね
こまってます 普通に、1度目の処理は最後にsleep(60)が実行されて、2度目で終了するループ処理では駄目なの? >>851
sleepからあけた後に勝手に一からやり直しゃいいと思うよ。
別に一分間隔でプロセス起動しても良いけど。 def unchi():
print ("unchi")
t=threading.Timer(60, unchi)
t.start() クラスの中でそのクラスのメソッドを呼びたいんだけど
class Test(Parent):
Test().func()
def func(self):
....
....
じゃだめなの?
not defined のエラーが出る @staticmethod
def func(self): ああすまそ @staticmethod なら self いらんかった >>858
>>860
やってみたけどだめだったorz 自己レス、取りあえずインスタンス生成したとき1回呼ぶだけなんで以下でいいみたいだ。
class Test(Parent):
def __init__(self,**kwargs):
super(Test,self).__init__(**kwargs)
self.func()
def func(self):
.....
..... ふつうはそうするが
別の理由があって聞いてるんだと思った >>699
csv_normal.pyがバージョン2.4.0にバージョンアップしたよ(https://ideone.com/u5Ji8H)
Version: 2.4.0
・csvデータを罫線で囲む機能を追加したよ(csvデータの可読性アップ)
・関数名などをスネークケースに統一したよ(コードの可読性アップ)
・関数、メソッドを沢山追加したよ(csvデータの処理機能アップ)
・数値リテラル内のアンダースコア表示に対応したよ(数値の可読性アップ )
思いついた機能は全部入れたよ、頑張りすぎてコードが千行超えちゃったよw
目玉は罫線で囲む機能で、罫線パターンは簡単に自作できるようになっているよ
少し早いけどクリスマスプレゼントだよ >>> import csv_normal as csv
>>> s='''
今日は何かめっちゃ褒められてますがな
ところでまた機能を1つ思いついてしまった・・
この縦書き機能を・・天才かもしれん'''
>>> c = csv.csv([list(string) for string in s.split('\n') if string])
>>> c.fill(); c.refresh_field(); c.replace_field('', ' ')
>>> c.csv = c.csv[::-1]; c.csv = csv.row2column(c.csv)
>>> c._display_delimiter=''
>>> c.print()
こと今
のこ日
縦ろは
書で何
きまか
機ため
能機っ
を能ち
・をゃ
・ 1褒
天つめ
才思ら
かいれ
もつて
しいま
れてす
んしが
まな
っ
た
・
・ ボタンを押したときに01〜03の関数を動かしたいんだけど、
btn.OnClick.Add(01,02,03)
とかやってもうまくいかなくて、
btn.OnClick.Add(01)
btn.OnClick.Add(02)
btn.OnClick.Add(03)
みたいにやらないといけない
でもこれだと02や03が不安定で、動くときと動かない時がある
どうすればいいでしょうか >>866
csv_normal.pyがバージョン2.5.0にバージョンアップしたよ(https://ux.getuploader.com/codes/download/6)
Version: 2.5.0
・print_idx2メソッドを追加したよ(インデックス表示+罫線で囲むからcsvデータが更に見やすくなるよ)
ideoneサイトだとコード容量オーバーで貼り付けられなかったからコードアップローダーにアップしたよ
※Python3.6から追加された機能を使用しているから古いPythonだと動かないので注意だよ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) >>870
01-03の関数を大きな関数の中で呼び出して、btn.OnClick.Add() にはその大きな関数を渡せばいいんじゃないの お構いなしに型変換して同じ変数にぶち込むスタイルのコーディングがいつまで経っても慣れんわ 型はオブジェクト自身が持っている、変数は指しているだけ 自分も変数なるべく使いまわしてるんだけどこれ速度と可読性の観点でどうなの? Python使ってて小手先の最適化を気にしてる時点で馬鹿に分類されるよ for文をなるだけ使わないってのは速度の点で重要だけど
素直にc++なりで書いた方が慣れないうちは楽だなと思ったり 12時間頑張ってそれは草
まあ、ママは誉めてくれるんじゃね…
よかったね >>871
少し使ってみたけどデータはpandasよりも格段に見やすい
データ抽出はpandasのqueryの方が簡潔で分かりやすい、csv_normalは冗長的だがPythonに慣れてる人はこっちでもいいかも
データを枠で囲む機能はまあまあ気に入った
感想はこんな感じかな、なかなか良い出来だと思うよグラフ化することが無いならこっち使ってもいいかもな いやいや変数の使い回しなんて小手先すぎるだろ…
勿論、コマ落ち防止でgc発生を絶対抑止しないといけないとか、変数使い回しが必要な場面もあるけどさ。
あえて書くまでもないことだけど、pythonに限らず、変数を使いまわして可読性メンテナンス性を下げるより、アルゴリズムを変えることを検討した方がいい 変数を使い回すということは、前のデータはいらないってこと、そして前のデータと意味は同じってこと
baka = >>875
baka.ng()
baka = >>886
baka.ng() 変数使いまわさないと
事実上変数のスコープがずっと続いて読みづらいことある >>889
例えば"aの色"という変数があって、aの色が変わったのなら、当然もとの"aの色"変数に格納する。
これをそもそも使いまわしと言わない。
意味が違うのにデータがいらないという理由で使いまわしてるのなら話にならない。
>>887
何だって例外はあると思うよ。 どっちでも、バグ無く動けばいいという考え方じゃ駄目なん? 規約という鎖で自分を縛って喜んでるのがたくさんいるんだ >>891
設計思想によっては例外という割合ではない >>892
ある程度の一貫性は欲しいかな
同じソースの部分部分で違うと読み間違えたり >>891
せっかくbakaを例に出してんのに例を例で被せてくんなよバカ
オマエの例でいえばbakaは"色"という変数だマヌケ
"色"にaの色を格納して、いらなくなったから"色"にbの色を入れてんの
そして色という意味は同じわけ、bakaの例みれば分かるだろ ちっ、せっかくカウンター用意してたのに噛みついてこいやぁ!!
つまり変数の使い回しというのはfor文の変数だ
for baka in (>>876, >>886, >>891):
baka.ng()
はい、論破ァーww 最近勉強始めたばっかの初心者なんだけど質問すまん
これの下の方の二つの input って誤植だよね? 正しくは print であってる?
http://imgur.com/fy1mnRS.jpg >>899
このコードをそのまま実行した場合と
該当箇所の input を print に書き換えて実行した場合を比較すればわかるけど
「そういう動作」を狙って著者さんがこう書いただけだと思う
初心者向けのサンプルプログラム以外で、こういう input() の使い方ってしないと思うけどね
出版社に問い合わせても図書カードとかはもらえなさそう >>896
「みんなのPython 第4版、2017」が定本 同じidなら結合して出力したい。
l=[['id0', 'pyt'], ['id0', 'hon'], ['id1', 'aiu'], ['id1', 'eo']]
求める結果
id0 python
id1 aiueo レス数が900を超えています。1000を超えると表示できなくなるよ。