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

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

2
サブプロセスPopenと呼び出しの違いは何ですか(どのように使用できますか)?
Pythonから外部プログラムを呼び出したい。私はとの両方Popen()を使用call()しました。 2つの違いは何ですか? 私の具体的な目標は、Pythonから次のコマンドを実行することです。リダイレクトの仕組みがわかりません。 ./my_script.sh > output ドキュメンテーションを読み、それはcall()便利な機能またはショートカット機能であると言います。call()代わりにを使用することにより、電力が失われPopen()ますか?
178 python  subprocess  popen 

4
Pythonでタプル比較はどのように機能しますか?
私はCore Pythonプログラミングの本を読んでいて、著者は次のような例を示しています。 (4, 5) < (3, 5) # Equals false だから、私は疑問に思っています、どのように/なぜfalseに等しいのですか?Pythonはこれら2つのタプルをどのように比較しますか? ところで、それは本で説明されていません。

5
1行リスト内包表記:if-elseバリアント
それはpythonリスト内包構文に関するものです。特定の範囲の奇数のリストを生成するリスト内包を持っています。 [x for x in range(1, 10) if x % 2] これによりフィルターが作成されます-ソースリストがあり、偶数(if x % 2)を削除しています。ここではif-then-elseのようなものを使用したいと思います。次のコードは失敗します: >>> [x for x in range(1, 10) if x % 2 else x * 100] File "<stdin>", line 1 [x for x in range(1, 10) if x % 2 else x * 100] ^ SyntaxError: …

3
Pythonでラムダを使用して並べ替える方法
Pythonでは、ラムダを使用して日付で並べ替えようとしています。エラーメッセージを理解できません。メッセージは次のとおりです。 <lambda>() takes exactly 1 argument (2 given) 私が持っているラインは a = sorted(a, lambda x: x.modified, reverse=True)
178 python  lambda 

9
NumPy配列にNumPy配列を追加する
numpy_arrayがあります。のようなもの[ a b c ]。 そして、それを別のNumPy配列に追加したいと思います(リストのリストを作成するように)。NumPy配列を含むNumPy配列の配列をどのように作成しますか? 運が悪かったので以下をやってみました >>> M = np.array([]) >>> M array([], dtype=float64) >>> M.append(a,axis=0) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'numpy.ndarray' object has no attribute 'append' >>> a array([1, 2, 3])
178 python  numpy 

5
パンダで列を文字列に変換する
SQLクエリからの次のDataFrameがあります。 (Pdb) pp total_rows ColumnID RespondentCount 0 -1 2 1 3030096843 1 2 3030096845 1 そして、私はそれをこのようにピボットしたいです: total_data = total_rows.pivot_table(cols=['ColumnID']) (Pdb) pp total_data ColumnID -1 3030096843 3030096845 RespondentCount 2 1 1 [1 rows x 3 columns] total_rows.pivot_table(cols=['ColumnID']).to_dict('records')[0] {3030096843: 1, 3030096845: 1, -1: 2} しかし、303列が整数ではなく文字列としてキャストされるようにして、次のようにします。 {'3030096843': 1, '3030096845': 1, -1: 2}
178 python  numpy  pandas 


8
Python 3範囲をリストに変換
数字の1-1000入ったリストを作ろうとしています。明らかに、これは書き込み/読み取りが面倒なので、範囲を指定してリストを作成しようとしています。Python 2ではそれはようです: some_list = range(1,1000) うまくいきましたが、Python 3の範囲はxrangePython 2の範囲と似ていますか? 誰かがこれについて何らかの洞察を提供できますか?
178 python  python-3.x  list  range 


12
JSONオブジェクトにバイトを受け入れさせるか、出力文字列をurlopenさせます
Python 3では、URLからjsonドキュメントを要求しています。 response = urllib.request.urlopen(request) responseオブジェクトが持つファイルライクオブジェクトreadとreadlineメソッド。通常、JSONオブジェクトは、ファイルをテキストモードで開いて作成できます。 obj = json.load(fp) 私がしたいのは: obj = json.load(response) ただし、urlopenはバイナリモードでファイルオブジェクトを返すため、これは機能しません。 回避策はもちろんです。 str_response = response.read().decode('utf-8') obj = json.loads(str_response) しかし、これは気分が悪い... バイトファイルオブジェクトを文字列ファイルオブジェクトに変換できるより良い方法はありますか?または、いずれかのパラメータurlopenまたはjson.loadエンコーディングを指定するためのパラメータが不足していますか?

8
Python 2.6で廃止されたBaseException.message
次のユーザー定義の例外を使用すると、Python 2.6ではBaseException.messageが廃止されるという警告が表示されます。 class MyException(Exception): def __init__(self, message): self.message = message def __str__(self): return repr(self.message) これは警告です: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 self.message = message これの何が問題になっていますか?非推奨の警告を取り除くには何を変更する必要がありますか?


6
Pythonでのスレッドの作成
スクリプトがあり、1つの関数を他の関数と同時に実行したい。 私が見たサンプルコード: import threading def MyThread (threading.thread): # doing something........ def MyThread2 (threading.thread): # doing something........ MyThread().start() MyThread2().start() これを機能させるのに苦労しています。クラスではなくスレッド化された関数を使用してこれを実行したいと思います。 これは作業スクリプトです: from threading import Thread class myClass(): def help(self): os.system('./ssh.py') def nope(self): a = [1,2,3,4,5,6,67,78] for i in a: print i sleep(1) if __name__ == "__main__": Yep = myClass() thread = …


6
Pythonの「for」ループでのスコープ
Pythonのスコープ規則については質問していません。Pythonのループでスコープがどのように機能するか一般的に理解しています。私の質問は、なぜ設計の決定がこのように行われたのかです。例(しゃれは意図されていません): for foo in xrange(10): bar = 2 print(foo, bar) 上記は(9,2)を出力します。 これは奇妙なことに私を襲います: 'foo'は実際にはループを制御するだけであり、 'bar'はループ内で定義されました。ループの外で「bar」にアクセスできる必要がある理由を理解できます(そうしないと、forループの機能が非常に制限されます)。私が理解していないのは、ループの終了後も制御変数がスコープ内に留まる必要がある理由です。私の経験では、グローバルな名前空間が乱雑になり、他の言語のインタープリターがキャッチするエラーを追跡することが難しくなります。
177 python  scope 

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