タグ付けされた質問 「python」

Pythonは、マルチパラダイム、動的型付け、多目的プログラミング言語です。これは、学習、理解、使用が迅速で、クリーンで統一された構文を適用できるように設計されています。Python 2は2020年1月1日をもって正式にサポートされなくなりました。それでも、バージョン固有のPythonの質問については、[python-2.7]または[python-3.x]タグを追加します。Pythonのバリアントまたはライブラリ(Jython、PyPy、Pandas、Numpyなど)を使用する場合は、タグに含めてください。

8
リストをディープコピーする方法は?
リストのコピーに問題があります: E0から取得した後'get_edge'、をE0呼び出してのコピーを作成します'E0_copy = list(E0)'。ここで私は推測するE0_copyのディープコピーであるE0、と私は合格E0_copyへ'karger(E)'。しかし、メイン関数で。forループ の'print E0[1:10]'前の結果がforループの後の結果と同じではないのはなぜですか? 以下は私のコードです: def get_graph(): f=open('kargerMinCut.txt') G={} for line in f: ints = [int(x) for x in line.split()] G[ints[0]]=ints[1:len(ints)] return G def get_edge(G): E=[] for i in range(1,201): for v in G[i]: if v>i: E.append([i,v]) print id(E) return E def karger(E): import random count=200 while 1: …
150 python  list  copy  deep-copy 

6
ファイルを明示的に閉じることは重要ですか?
Pythonでは、を呼び出さずにファイルを開くか、ファイルをclose()閉じてtry- finallyまたは " with"ステートメントを使用しない場合、これは問題ですか?それとも、すべてのファイルを閉じるためにPythonガベージコレクションに依存するコーディングプラクティスとして十分ですか?たとえば、これを行う場合: for line in open("filename"): # ... do stuff ... ...これはファイルを閉じることができず、ファイルを閉じるのを妨げる例外が発生する可能性があるため、これは問題ですか?またはfor、ファイルが範囲外になるため、ステートメントの最後に確実に閉じられますか?

9
配列へのナンピー行列
私はnumpyを使用しています。1列N行の行列があり、N個の要素を持つ配列を取得したいと考えています。 たとえば、私が持っている場合、私はM = matrix([[1], [2], [3], [4]])取得したいですA = array([1,2,3,4])。 それを達成するために、私はを使用しますA = np.array(M.T)[0]。同じ結果を得るためのよりエレガントな方法を知っている人はいますか? ありがとう!
149 python  arrays  matrix  numpy 


2
Django adminの同じモデルに対する複数のModelAdmins /ビュー
同じモデルに対して複数のModelAdminを作成し、それぞれを異なる方法でカスタマイズし、異なるURLにリンクするにはどうすればよいですか? PostsというDjangoモデルがあるとします。デフォルトでは、このモデルの管理ビューにはすべてのPostオブジェクトがリストされます。 list_displayなどの変数を設定するかqueryset、ModelAdminでメソッドをオーバーライドすることで、ページに表示されるオブジェクトのリストをさまざまな方法でカスタマイズできることを知っています。 class MyPostAdmin(admin.ModelAdmin): list_display = ('title', 'pub_date') def queryset(self, request): request_user = request.user return Post.objects.filter(author=request_user) admin.site.register(MyPostAdmin, Post) デフォルトでは、URLからアクセスできます/admin/myapp/post。ただし、同じモデルの複数のビュー/ ModelAdminsが欲しいです。たとえば/admin/myapp/post、すべての投稿オブジェクト/admin/myapp/mypostsを一覧表示し、ユーザーに属する/admin/myapp/draftpostすべての投稿を一覧表示し、まだ公開されていないすべての投稿を一覧表示する場合があります。(これらは単なる例であり、実際の使用例はより複雑です) 同じモデルに複数のModelAdminを登録することはできません(これによりAlreadyRegistered例外が発生します)。理想的には、すべてを1つのModelAdminクラスに入れずに独自の「urls」関数を記述して、URLに応じて異なるクエリセットを返すことなく、これを実現したいと考えています。 Djangoのソースを確認したところ、ModelAdmin.changelist_viewそのような関数がどういうわけか私のurls.pyに含まれている可能性がありますが、それがどのように機能するのか正確にはわかりません。 更新:自分がやりたいことを行う方法を1つ見つけました(下記を参照)が、これを行う他の方法については引き続き聞きたいです。

5
Pythonコードの行は、インデントのネストレベルを知ることができますか?
このようなものから: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) 私はこのようなものを手に入れたいです: 1 2 3 この方法でコードを読み取ることができますか? 私が欲しいのは、コードのよりネストされた部分からの出力がよりネストされることです。これによりコードが読みやすくなるのと同じように、出力も読みやすくなります。 もちろん、たとえばを使用してこれを手動で実装することもできます.format()が、私が念頭に置いていたのは、インデントレベルがprint(i*' ' + string)どこにあるかというカスタムの印刷関数でしたi。これは、私の端末で読みやすい出力を作成する簡単な方法です。 これを行うための手作業でのフォーマットの手間を省くより良い方法はありますか?

6
dictするpythonタプル
タプルの場合、t = ((1, 'a'),(2, 'b')) dict(t)戻り値{1: 'a', 2: 'b'} 取得するための良い方法はあり{'a': 1, 'b': 2}ますか(キーと値を交換する)? 最終的に、私は返すことができるようにしたい1与え'a'たり2与えられ'b'、おそらく辞書に変換する最良の方法ではありません。

9
字句閉鎖はどのように機能しますか?
私はJavascriptコードの字句クロージャーで発生した問題を調査していたところ、Pythonでこの問題に遭遇しました。 flist = [] for i in xrange(3): def func(x): return x * i flist.append(func) for f in flist: print f(2) この例では注意深く回避していlambdaます。意外と「4 4 4」と印刷されます。「0 2 4」を期待します。 この同等のPerlコードはそれを正しく行います: my @flist = (); foreach my $i (0 .. 2) { push(@flist, sub {$i * $_[0]}); } foreach my $f (@flist) { print …

12
Excelスプレッドシートへの書き込み
私はPythonが初めてです。プログラムからスプレッドシートにデータを書き込む必要があります。私はオンラインで検索しましたが、利用可能なパッケージが多数あるようです(xlwt、XlsXcessive、openpyxl)。他の人は.csvファイルに書き込むことを提案します(CSVを使用したことがなく、CSVが何であるか本当に理解していない)。 プログラムは非常に簡単です。2つのリスト(float)と3つの変数(string)があります。2つのリストの長さがわかりません。おそらく同じ長さではありません。 下の図のようなレイアウトにしたい: ピンク色の列は最初のリストの値を持ち、緑の列は2番目のリストの値を持ちます。 これを行うための最良の方法は何ですか? PS Windows 7を実行していますが、このプログラムを実行しているコンピューターにOfficeをインストールする必要はありません。 import xlwt x=1 y=2 z=3 list1=[2.34,4.346,4.234] book = xlwt.Workbook(encoding="utf-8") sheet1 = book.add_sheet("Sheet 1") sheet1.write(0, 0, "Display") sheet1.write(1, 0, "Dominance") sheet1.write(2, 0, "Test") sheet1.write(0, 1, x) sheet1.write(1, 1, y) sheet1.write(2, 1, z) sheet1.write(4, 0, "Stimulus Time") sheet1.write(4, 1, "Reaction Time") i=4 for n …
149 python  excel  csv 

6
Sphinx autodocは十分に自動化されていません
Sphinxを使用して5,000行以上のプロジェクトをPythonでドキュメント化しようとしています。約7つの基本モジュールがあります。私の知る限り、autodocを使用するには、プロジェクト内の各ファイルに対して次のようなコードを記述する必要があります。 .. automodule:: mods.set.tests :members: :show-inheritance: 多くのファイルを持っているので、これは非常に面倒です。「mods」パッケージを文書化することを指定できれば、はるかに簡単になります。Sphinxはパッケージを再帰的に調べ、各サブモジュールのページを作成します。 このような機能はありますか?そうでない場合、すべての.rstファイルを作成するスクリプトを作成できますが、これには多くの時間がかかります。

16
sys.stdoutをログファイルに複製する方法
編集:解決策がないか、誰も知らないような非標準的なことをしているようです-私は質問を修正して次のことも尋ねます:pythonアプリが多くのシステムコール? 私のアプリには2つのモードがあります。インタラクティブモードでは、すべての出力を画面とログファイル(システムコールからの出力を含む)に出力します。デーモンモードでは、すべての出力がログに送られます。デーモンモードは、を使用するとうまく機能しos.dup2()ます。すべてのシステムコールを変更せずに、インタラクティブモードでログへのすべての出力を「ティー」する方法を見つけることができません。 言い換えれば、システムコールの出力を含め、Pythonアプリによって生成されたすべての出力に対して、コマンドライン 'Tee'の機能が必要です。 明確にするために: すべての出力をリダイレクトするには、次のようにします。 # open our log file so = se = open("%s.log" % self.name, 'w', 0) # re-open stdout without buffering sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) # redirect stdout and stderr to the log file opened above os.dup2(so.fileno(), sys.stdout.fileno()) os.dup2(se.fileno(), sys.stderr.fileno()) これの良い点は、残りのコードからの特別な印刷呼び出しを必要としないことです。このコードはいくつかのシェルコマンドも実行するため、それぞれの出力を個別に処理する必要がないのも便利です。 単純に、リダイレクトではなく複製を除いて、同じことをしたいのです。 最初は、単にを逆にするだけdup2でうまくいくと思いました。なぜそうではないのですか?これが私のテストです: import os, …
149 python  tee 

4
Pythonでネストされた辞書をどのように作成しますか?
「データ」と「マッピング」の2つのCSVファイルがあります。 : 'マッピング'ファイルには、4つの列がありDevice_Name、GDN、Device_Type、とDevice_OS。4つの列すべてにデータが入力されます。 「データ」ファイルにはこれらの同じ列Device_Nameがあり、列が設定され、他の3つの列は空白になっています。 私は自分のPythonコードは両方のファイルを開き、各したいDevice_Nameデータファイルで、そのマッピングGDN、Device_TypeおよびDevice_OSマッピングファイルから値を。 2つの列しか存在しない場合(1つはマップする必要がある)にdictを使用する方法を知っていますが、3つの列をマップする必要がある場合にこれを実行する方法はわかりません。 以下は、私がマッピングを達成しようとしたコードを使用していますDevice_Type: x = dict([]) with open("Pricing Mapping_2013-04-22.csv", "rb") as in_file1: file_map = csv.reader(in_file1, delimiter=',') for row in file_map: typemap = [row[0],row[2]] x.append(typemap) with open("Pricing_Updated_Cleaned.csv", "rb") as in_file2, open("Data Scraper_GDN.csv", "wb") as out_file: writer = csv.writer(out_file, delimiter=',') for row in csv.reader(in_file2, delimiter=','): try: row[27] = …

6
リスト内包表記のラムダ関数
fとlambda関数は同じであるにもかかわらず、次の2つのリスト内包表記の出力が異なるのはなぜですか? f = lambda x: x*x [f(x) for x in range(10)] そして [lambda x: x*x for x in range(10)] どちらも同じタイプtype(f)をtype(lambda x: x*x)返すことに注意してください。
149 python 

8
PythonプログラムをC / C ++コードに変換しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 この質問を改善する PythonプログラムをC / C ++に変換することは可能ですか? いくつかのアルゴリズムを実装する必要があります。C/ C ++で実行するときに経験するすべての痛みを正当化するのに十分なパフォーマンスギャップがあるかどうかはわかりません(私は得意ではありません)。私は、1つの単純なアルゴリズムを作成して、そのような変換されたソリューションに対してベンチマークすることを考えました。それだけでPythonバージョンよりもはるかに高速である場合は、C / C ++で実行する以外に選択肢はありません。
149 c++  python  c  code-generation 

6
anacondaはすべての可能なパッケージを更新しますか?
私が試したところconda search --outdated、古いパッケージがたくさんあります。たとえば、scipyは0.17.1ですが、最新は0.18.0です。しかし、私がするときconda update --all。パッケージは更新されません。 アップデート1 conda update --all --alt-hint Fetching package metadata ....... Solving package specifications: .......... # All requested packages already installed. # packages in environment at /home/user/opt/anaconda2: # アップデート2 これらのパッケージは個別に更新できます。できるよconda update scipy。しかし、なぜすべてを一度に更新できないのですか?
149 python  anaconda 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.