はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    iPhone 17

『Python Snippets』

  • 人気
  • 新着
  • すべて
  • datetime の UTC / JSTの変換についてまとめ

    3 users

    python.civic-apps.com

    datetime.datetimeのオブジェクトをUTCやJSTに変換するさいのパターンを網羅してみます。 datetime型には、timezone情報がついているかどうかの区別がある。timezone情報があるもの=aware。ないもの=native。 タイムゾーンの準備 timezoneを扱う場合はdateutilを使用するのが今日では一般的のよう。 メジャーな日付操作ライブラリとしてはdateutilかpytzがある 標準ライブラリのtimezoneにtimedeltaで生成するのも+-9時間のようなシンプルなものなら便利 pytzは厳密すぎて+09:19のようなハマりがあるので避けたほうが良い Python3.9以降限定ならば標準ライブラリのzoneinfoを使うのも良い ひとまずここでは、Python3.9以前のことも考慮してdateutilを使用します。 pip install

    • 学び
    • 2021/12/06 15:59
    • HTTPのPOST/GETリクエストをする | Python Snippets

      5 users

      python.civic-apps.com

      requestsモジュールを使う(Python2系, 3系共通) pythonの標準ライブラリでもHTTPリクエストを送ることはできるが、煩雑で使いにくいためrequestsというサードパーティ製のライブラリが使われることが多い。 requestsモジュールを使った場合は直感的で簡単なコードでHTTPリクエストができる。 requestsモジュールのインストール。 $ pip install requests GETリクエスト(requests版) getメソッドでURLを指定してリクエスト。 import requests response = requests.get('http://www.example.com') print(response.status_code) # HTTPのステータスコード取得 print(response.text) # レスポンスのHTMLを文字列で

      • テクノロジー
      • 2018/12/04 17:01
      • python
      • BeautifulSoup4のチートシート(セレクターなど)

        11 users

        python.civic-apps.com

        BeautiflSoup4でスクレイピングして要素を抽出するときに、よく使うセレクタをチートシート的にまとめておく。 BeautifuSoup4の使い方 スクレイピングする時にBeautifulSoup4を使うことは多いと思い。よく使うAPIやセレクターの記述方法をまとめます。 ちなみに、よく忘れてしまって「どうするんだっけ?」となるんですが、BeautifulSoup4ではxpathを使ったセレクタは存在しない。urlをわたしてHTTPリクエストを投げてくれるような機能はない。 インストール beautifulsoup4 もしくは別名の bs4でpipからインストールする。 ※ pip install BeautifulSoupとすると古いBeautifulSoup3になるので注意。 $ pip install beautifulsoup4 or $ pip install bs4 Be

        • テクノロジー
        • 2018/07/18 09:51
        • python
        • scrapyでよく使うxpath, cssのセレクタ

          6 users

          python.civic-apps.com

          text要素をextract res.xpath('//li/text()').extract() res.css('li::text').extract() → [‘list1’, ‘list2’, ‘list3’, ‘list4’, ‘list5’, ‘list6’] 最初の要素をextract res.xpath('//li/text()').extract_first() # extract_first res.xpath('//li/text()')[0].extract() # selectorの1要素目からextract res.css('li::text').extract_first() res.css('li::text')[0].extract() → ‘list1’ id指定でフィルタ res.xpath('//div[@id="main"]//li/text()'

          • テクノロジー
          • 2018/05/21 23:33
          • あとで読む
          • loggingで例外情報を出力する

            4 users

            python.civic-apps.com

            logging.errorで例外を出力しようとしたときに、例外オブジェクトを渡してもスタックトレースは出力されない。 Javaなんかだと、例外オブジェクトをerrorメソッドの引数として渡すが、pythonの場合はexceptionでログ出力する。 try: ... except Exception, e: logging.exception('エラーが起きた') logging.errorメソッドでもexc_info=Trueをつければ同じように出力される。それを簡略化したのがlogging.exceptionメソッド。 try: ... except Exception, e: logging.error('エラーがおきた', exc_info=True) tracebackモジュールのformat_exception(exc_type, exc_value, exc_tracebac

            • テクノロジー
            • 2017/09/12 14:07
            • python
            • 日付の加算 減算 timedelta

              5 users

              python.civic-apps.com

              日付の加算・減算を行うには、datetime.timedeltaを使用する。 >>> import datetime >>> d = datetime.datetime.now() >>> d datetime.datetime(2012, 4, 18, 06, 29, 28, 538000) >>> d + datetime.timedelta(days=3) #3日加算 datetime.datetime(2012, 4, 21, 06, 29, 28, 538000) >>> d - datetime.timedelta(hours=3) #3時間減算 datetime.datetime(2012, 4, 18, 03, 29, 28, 538000) 引数に使用可能なのは以下のとおり timedelta([days[, seconds[, microseconds[, millis

              • テクノロジー
              • 2016/07/29 14:50
              • datetime
              • Python
              • 日付
              • 技術
              • pythonでループのネストを減らす定石 itertools

                4 users

                python.civic-apps.com

                pythonでのネストされたループを減らすためのよく知られた方法を考察。 2重のネストループ程度であればありがちな例でも問題ないが、3重、4重となってくるとitertoolsのありがたみがわかる。 10×10の座標を全走査するときなど //ありがちなネストループの例 for x in range(10): for y in range(10): print("%d, %d" % (x,y)) itertools.productを使って全通りの組み合わせを出す。 import itertools for x, y in itertools.product(range(10), range(10)): #Xの10通り、Yの10通りの全組み合わせ print("%d,%d" % (x,y)) ※itertoolsはイテレータを生成しているので、全通りの操作をするために膨大な件数の組み合わせを作っ

                • テクノロジー
                • 2016/07/02 15:23
                • python
                • ファイルへのログ出力、Logger生成

                  5 users

                  python.civic-apps.com

                  basicConfigでファイルへ出力 basicConfigでfilename引数を指定。 logging.basicConfig(level=logging.DEBUG, filename="test.log", format="%(asctime)s %(levelname)-7s %(message)s") basicConfigで設定する場合は、logger全体(rootLogger)への一括設定となり簡単ではあるが細かい設定はできない。 注意 basicConfigはすでにrootLoggerにハンドラが設定されているとなにも処理をしない。したがってbasicConfigで簡易設定できるのだが、2回目はなにも変更されないので注意。levelなどを変更しようと思ってもすでにhandlerが設定されているとなにも処理されない。他人が使用するライブラリなどではbasicConfigは

                  • テクノロジー
                  • 2016/05/15 22:53
                  • Python
                  • argparseでコマンドライン引数の解析

                    11 users

                    python.civic-apps.com

                    argparseは、コマンドラインプログラムの引数を解析するのに便利なモジュールで、C言語のgetopt的なものです。似たような機能をもつモジュールとしてgetoptモジュール(C言語のものと同等)、optparseモジュールがありますがそれらは古いモジュールで、argparseを使うのが推奨されてるようです。 基本的な使い方 import argparse p = argparse.ArgumentParser() p.add_argument("foo") # 位置引数fooを定義 args = p.parse_args() # デフォルトでsys.argvを解析 print(args.foo) このように作成したtest.pyファイルを、引数なしで実行してみます。 $ python test.py usage: test.py [-h] foo test.py: error: too

                    • テクノロジー
                    • 2016/05/08 15:25
                    • argparse
                    • python
                    • tutorial
                    • development
                    • programming
                    • あとで読む
                    • blog
                    • 文字→ascii。ascii→文字 ord, chr

                      9 users

                      python.civic-apps.com

                      ord: アスキーコードを取得 >>> ord("a") 97 ユニコードオブジェクトの場合は、ユニコードを整数で返す。(python2) >>> ord(u"あ") 12354 >>> hex(ord(u"あ")) 0x3042 >>> u"\u3042" == u"あ" True python3の場合は、文字列がはじめからユニコード文字列なので、uを付けなくてもよい。 >>> ord("あ") 12354 chr: アスキーコードから文字へ >>> chr(97) 'a' ユニコードはunichr(python2) >>> unichr(12354) u"\u3042" python3でははじめから文字列がユニコードなのでunichr関数は存在せずに、chr関数で文字コードから文字を得られる。(出力結果はpython2と違うが同値) >>> chr(12354) "あ" 関連記事: 文

                      • テクノロジー
                      • 2016/03/04 00:30
                      • python
                      • python3のbytes型とstr型の比較と変換方法

                        30 users

                        python.civic-apps.com

                        3では文字列はunicode文字列として扱われるようになったので、すべてpython2でいうところのu''になりました。u''表記してもエラーにはなりませんが(python3.3以上)同じ意味です。 バイナリデータを扱うときには、bytes型に変換します。bytes型は文字列っぽく扱えますが、strとbytesの連結などはできないので用途に合わせて適切な型で持つようにします。 例えば特定の文字コードの文字列を持ちたい場合はbytes型になります。str文字列として加工などをして最終的に出力する際に、任意の文字コードのバイト列としてエンコードして出力するという使い方になります。 strからbytes encodeでbytes型(utf-8)に変換します。 >>> 'あいう'.encode('utf-8') b'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86' #ut

                        • 世の中
                        • 2015/11/01 14:49
                        • python
                        • trouble
                        • Python Snippets

                          11 users

                          python.civic-apps.com

                          • テクノロジー
                          • 2015/10/30 05:22
                          • python
                          • study
                          • programming
                          • まとめ
                          • 文字列検索系メソッド find, index, startswith, endswidth

                            3 users

                            python.civic-apps.com

                            find: 部分文字列を検索 指定した文字列内から、引数で与えた文字列が見つかるindexを返す。見つからない場合は−1を返す。 >>> "spam".find("pa") 1 >>> "spam".find("x") -1 indexは見つからない場合にエラーを返す。 >>> "spam".index("pa") 1 >>> "spam".index("x") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found startswith: 指定した文字列で始まるかどうか? >>> "spam".startswith("sp") True >>> "spam".startswith("pa") False endswith: 指定した文字列で

                            • 世の中
                            • 2015/10/21 23:23
                            • ライブラリの配布について

                              8 users

                              python.civic-apps.com

                              Pythonのパッケージ管理はいろいろと変遷していて、なにがベストなのかよく分かりません……。 パッケージ管理ツールのいろいろ とりあえずパッケージ管理の仕組みについてキーワードを上げてみると、 distutils (python標準だが機能不足。コマンドはなかった) setuptools (distutilsの置き換え。コマンドeasy_install) distribute (setuptoolsの機能強化クローン。setuptoolにマージされたことでdeprecatedになった) pip (easy_installの便利コマンド版) distutils2 (setuptools/distutilの仕組みを取り入れた→packagingに変更) packaging (python3.3の標準でsetuptools, easy_install相当だったがやっぱりpython3.3には入

                              • テクノロジー
                              • 2015/08/27 21:10
                              • python
                              • モジュール
                              • git
                              • あとで読む
                              • while, forループのelse

                                8 users

                                python.civic-apps.com

                                Pythonではwhile, forのループにelseを使えます。 これは他の言語には珍しい機能で、ありがちなケースでは「ループ処理で何かを探索して見つけたらbreakする、breakしなかったら見つからなかった」といったケースでフラグ変数を使う必要がなくなります。 elseを使わないループ elseを使わない、ありがちなループ探索処理の場合は、見つかった場合にフラグを更新してbreakし、ループの外側でフラグの状態をチェックしたif文を記述します。 ary = [1, 3, 9, 2, 1] exist = False for n in ary: if n == 9: exist = True break if exist: print "Found! 9" else: print "Not found 9.." elseを使うループ elseを使った場合は、existフラグを使用する必

                                • テクノロジー
                                • 2015/05/28 22:25
                                • Python
                                • プログラミング
                                • あとで読む
                                • 組み合わせや順列の列挙に便利なitertoolsの機能

                                  6 users

                                  python.civic-apps.com

                                  確率や統計だったり、全パターン列挙などをする場合に便利な関数群を一部紹介。 これらの関数を使うことで複数のネストしたループを作らなくてすんで大変便利です。 組み合わせ combinations 例:5枚の数字カード[0..4]から3枚引いた時の取れるカードの組み合わせ。順番は関係なし >>> import itertools >>> list(itertools.combinations(range(5), 3)) [(0, 1, 2), (0, 1, 3), (0, 1, 4), (0, 2, 3), (0, 2, 4), (0, 3, 4), (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)] 順列 permutations 例:4枚の数字カード[0..3]の並び順のパターン。 >>> import itertools >>> list(iterto

                                  • 暮らし
                                  • 2015/05/28 00:02
                                  • リスト内包表記

                                    7 users

                                    python.civic-apps.com

                                    リストを生成するための表記方法。リストに対して繰り返し処理を行う場合にも使用出来る。従来のmap, filterの代わりになる。だいたいの場合for文でループするよりも高速に動作する。 繰り返し処理でリスト生成する時の構文 >>> aray = [1, 2, 3] >>> [x*2 for x in ary] #aryの各要素を*2してリストを生成する。 [2, 4, 6] >> ary [1, 2, 3] #aryに変更はない リスト内包表記をfor文を使わない同等の記述 記述すると以下のようになる。(ただしこの処理の場合Pythonインタプリタで処理するのでリスト内包表記よりも低速。リスト内包表記は構文からcライブラリで処理するのでより高速に生成することができる。) >>> ary = [1,2,3] >>> newary = [] >>> for x in ary: ... newa

                                    • テクノロジー
                                    • 2015/04/30 16:03
                                    • *programming
                                    • ブックマーク バー
                                    • python
                                    • あとで読む
                                    • ファイル読み書き file open read write

                                      14 users

                                      python.civic-apps.com

                                      ファイル読み込み レガシーな書き方 file = open("filename", "r") try: whole_str = file.read() finally: file.close() # finallyでcloseすべき withブロックを使用してcloseを自動的に行う方法。(こちらを推奨) with open("filename", "r") as file: whole_str = file.read() file.read([size])で指定したバイト数を読み込み。size未指定の場合はすべて読み込み。 file.readline()で1行読み込み。文字列に改行文字は残る。最後の行を読み込んだ後に””(空文字)がかえる。 file.readlines()で全行を読み込んでリストを返す。 ファイル書き込み レガシーな書き方 file = open("filename",

                                      • テクノロジー
                                      • 2015/04/10 14:42
                                      • python
                                      • あとで読む
                                      • map, reduce, filterによるシーケンス操作

                                        27 users

                                        python.civic-apps.com

                                        シーケンスに対して繰り返し操作するためのビルドイン関数。forで繰り返し処理する代わりに記述できる。mapとfilterはリスト内包表記で記述でき、そちらのほうが概ね高速なのでリスト内包表記で記述したほうが良い。 map: すべての要素に処理を行う シーケンスのすべての要素を関数の引数として実行し、その実行結果から新しいlistを作成する。 >>> items = [1, 2, 3] >>> def plus(n): # 10加算して返すだけの関数plus ... return n+10 ... >>> map(plus, items) #itemsの要素すべてにplus関数の実行し、新しいlistを返す [11, 12, 13] >>> items #元のitemsは変更されない [1, 2, 3] >>> map(lambda n:n+20, items) #関数部分をlambda関数

                                        • テクノロジー
                                        • 2014/09/22 17:37
                                        • Python
                                        • 各種リテラルと内包表記について

                                          7 users

                                          python.civic-apps.com

                                          Pythonのリスト内包表記はよく知られていますが、その他のオブジェクトについても内包表記と、直接記述する場合のリテラルについてまとめます。 ※Python3で導入された表記がPython2.7でも使えるようになっています。 リスト(list) よく知られたリスト内包表記です。 l1 = [0, 2, 4, 6, 8] # listリテラル l2 = [x*2 for x in range(5)] # list内包表記 print l1, l2 # -> [0, 2, 4, 6, 8] [0, 2, 4, 6, 8] タプル(tuple) タプルは内包表記がありません。一見、()で書ける内包表記があるようですがこれはジェネレータ式です。 t1 = (0, 2, 4, 6, 8) # tupleリテラル t2 = tuple(x*2 for x in range(5)) # tuple内包表

                                          • テクノロジー
                                          • 2014/03/27 15:55
                                          • Python
                                          • 文字列の分割・結合 split, join,rsplit

                                            14 users

                                            python.civic-apps.com

                                            split: 文字列の分割 str.split(sep) sepを区切り文字として、単語を分割してリストにする。 区切り文字が指定されない場合は、スペース、タブ、改行文字列で分割される特殊なルールになる。 >>> "hello,world,foo,bar".split(",") ['hello', 'world', 'foo', 'bar'] >>> "hello,world, foo, bar".split(", ") >>> "hello world\tfoo\nbar".split() ['hello', 'world', 'foo', 'bar'] 第2引数で区切り文字で分割する回数を指定することができる。 >>> "aaa,bbb,ccc".split(",", 1) #分割回数は1回に制限。('bbb,ccc'は分割されていない) ['aaa', 'bbb,ccc'] 正規表現

                                            • テクノロジー
                                            • 2014/03/16 07:14
                                            • python
                                            • ブックマーク バー
                                            • Pythonでの3項演算子の記述はどうするのか?

                                              7 users

                                              python.civic-apps.com

                                              単純なケースならばif文よりも簡潔に記述できるので、Pythonでも使いたいです。 JavaScriptの例 var x = (a == 1 ? 10 : 20); #aの値が1のとき、xに10を代入。そうでないとき20。 同様のことをPythonで記述するには、以下のようになります。 x = 10 if a == 1 else 20 JavaScriptでの記述に慣れているとすごく違和感あります。 JavaScriptタイプの記述はJava, C言語などでも使われているため広く知られている記述方法です。それゆえPython方式の記述は変な感じです。 ただリスト内包表記でのifなども似ているので、Pythonに慣れ親しめばそうでもありません。 ちなみに この条件的な代入方式の記述を、「3項演算子」って呼ぶのは不適切です。(正しくは条件演算子だそうです。) 3項演算子は「項が3つある演算子」

                                              • テクノロジー
                                              • 2014/03/02 01:42
                                              • Python
                                              • プログラミング
                                              • programming
                                              • __xxx__ 形式の特殊メソッド、特殊フィールド

                                                5 users

                                                python.civic-apps.com

                                                __init__ コンストラクタ。インスタンスを生成する際に呼び出される。 >>> class Hoge(object): ... def __init__(self, name): ... self.name = name ... >>> h = Hoge("John") >>> h.name 'John' __getitem__, __setitem__ 添字付きアクセスに対する[]演算子オーバーロード。添字でのアクセスが可能なオブジェクトになる。 >>> class MyList(object): ... def __getitem__(self, key): ... return key+10 ... def __setitem__(self, key, value): ... print "set {0}={1}".format(key, value) ... >>> ml =

                                                • テクノロジー
                                                • 2013/08/16 18:42
                                                • python
                                                • 重複のない集合set 集合演算

                                                  5 users

                                                  python.civic-apps.com

                                                  Setは重複のない要素をもつ順序なしのコレクションオブジェクト。 リストから重複する要素を取り除いたり、積集合・和集合・差集合のような集合演算を使うために使用します。 >>> s = {1, 2, 3} # 以前はsetのリテラルがなかったため set([1, 2, 3])のように書いていました。 >>> s {1, 2, 3} >>> s.add(3) #重複するので変化ない >>> s.add(4) >>> s {1, 2, 3, 4} >>> l = ["hello", "world", "apple", "world", "python", "apple"] #重複する要素をもつリスト >>> l ['hello', 'world', 'apple', 'world', 'python', 'apple'] >>> list(set(l)) #setを作成して重複を取り除いて再びリ

                                                  • 世の中
                                                  • 2013/08/16 14:58
                                                  • Python
                                                  • trouble
                                                  • format関数による文字列フォーマット(新しい形式 / 3.6対応)

                                                    41 users

                                                    python.civic-apps.com

                                                    Python2.6から使用可能なstr.format関数。旧来の%形式の文字列フォーマットよりも好ましい書き方。 波括弧で囲まれたフィールドにパラメータを埋め込んで文字列を指定する。波括弧自体を扱う場合は二重に記述してエスケープする。{{, }} 詳細について 6.1.3. 書式指定文字列の文法 またPython3.6からフォーマット関数と同等の機能をもつ フォーマット済み文字列リテラル(f-string) が導入されました。※後述 埋め込み >>> "A={0}.".format("John") #インデックスを指定して埋め込み 'A=John.' >>> "A={0}. B={1}".format("John", "Taro") 'A=John. B=Taro' # キーワード引数で指定 >>> "A={ab}. B={cd}".format(ab="John", cd="Taro")

                                                    • テクノロジー
                                                    • 2013/07/22 15:26
                                                    • python
                                                    • format
                                                    • フォーマット
                                                    • 文字列
                                                    • string
                                                    • ブックマーク バー
                                                    • プログラミング
                                                    • 文字列の置換 (単純置換・正規表現置換) re.sub replace regexp

                                                      5 users

                                                      python.civic-apps.com

                                                      re.sub(pattern, repl, string) >>> re.sub(r'[\d]+', "abc", "A123B") 'AabcB' 後方参照 \1, \2 … で参照可能。 raw文字列で指定しないと、文字列のエスケープ文字とみなされるので、\1 がアスキーコード 0x01 に置換されてしまう。raw文字列にしておくのが無難。 >>> re.sub(r'(\d)(\d+)', r"abc\1-\2", "A123B") 'Aabc1-23B' 関数で置換文字列生成。関数の引数mにマッチングオブジェクトが入る。 >>> def func(m): ... n=int(m.group()) ... return str(n*2) ... >>> re.sub(r'(\d+)', func, "A128B") 'A256B' 同様にlambda式で。 >>> >>> re.sub

                                                      • テクノロジー
                                                      • 2013/03/19 05:59
                                                      • python
                                                      • あとで読む
                                                      • forループで便利な zip, enumerate関数

                                                        27 users

                                                        python.civic-apps.com

                                                        zip関数 複数のシーケンスをまとめてループ ※データのzip圧縮についてはこちらを参照 複数のシーケンスオブジェクトを同時にループするときに使用する。要素数が違う場合は一番少ないものに合わせられる。 >>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> for (a, b) in zip(list1, list2): #list1,list2を同時にループ ... print a,b ... 1 4 2 5 3 6 >>> list3 = [7, 8] >>> for (a, b) in zip(list1, list3): #要素数が少ないlist3に合わせられる ... print a,b ... 1 7 2 8 #行,列変換 >>> list4 = [ ... [1, 2, 3], ... [4, 5, 6], ... [7, 8, 9]

                                                        • テクノロジー
                                                        • 2013/01/29 20:49
                                                        • python
                                                        • zip
                                                        • ループ
                                                        • プログラミング
                                                        • 日付フォーマット(datetime⇔文字列)

                                                          30 users

                                                          python.civic-apps.com

                                                          datetime → 書式化文字列 >>> import datetime >>> now = datetime.datetime.now() >>> now.strftime("%Y/%m/%d %H:%M:%S") '2012/01/01 20:29:39' もしくは、新しい形式のformat関数を使ってもできる。 >>> "{0:%Y-%m-%d %H:%M:%S}".format(now) '2012-10-07 08:15:03' Python3.6以降からはフォーマット済み文字列リテラル(f-string)が使用可能なので、それを使うともっとかんたんにかける。 >>> f"{now:%Y-%m-%d %H:%M:%S}" '2012-10-07 08:15:03' その逆。書式化された日付文字列 → datetime >>> import datetime >>> dateti

                                                          • 世の中
                                                          • 2012/07/14 02:58
                                                          • python
                                                          • datetime
                                                          • *Programming
                                                          • COVID-19

                                                          このページはまだ
                                                          ブックマークされていません

                                                          このページを最初にブックマークしてみませんか?

                                                          『Python Snippets』の新着エントリーを見る

                                                          キーボードショートカット一覧

                                                          j次のブックマーク

                                                          k前のブックマーク

                                                          lあとで読む

                                                          eコメント一覧を開く

                                                          oページを開く

                                                          はてなブックマーク

                                                          • 総合
                                                          • 一般
                                                          • 世の中
                                                          • 政治と経済
                                                          • 暮らし
                                                          • 学び
                                                          • テクノロジー
                                                          • エンタメ
                                                          • アニメとゲーム
                                                          • おもしろ
                                                          • アプリ・拡張機能
                                                          • 開発ブログ
                                                          • ヘルプ
                                                          • お問い合わせ
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について

                                                          公式Twitter

                                                          • 公式アカウント
                                                          • ホットエントリー

                                                          はてなのサービス

                                                          • はてなブログ
                                                          • はてなブログPro
                                                          • 人力検索はてな
                                                          • はてなブログ タグ
                                                          • はてなニュース
                                                          • ソレドコ
                                                          • App Storeからダウンロード
                                                          • Google Playで手に入れよう
                                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                          設定を変更しましたx