ブックマーク / python.civic-apps.com (4)

  • 文字→ascii。ascii→文字 ord, chr

    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) "あ" 関連記事: 文

    文字→ascii。ascii→文字 ord, chr
    kent-where-the-light-is
    kent-where-the-light-is 2017/07/11
    “ord: アスキーコードを取得 >>> ord("a") 97 ユニコードオブジェクトの場合は、ユニコードを整数で返す。(python2) >>> ord(u"あ") 12354 >>> hex(ord(u"あ")) 0x3042 >>> u"\u3042" == u"あ" True python3の場合は、文字列がはじめからユニコード文字
  • 文字列の分割・結合 split, join,rsplit

    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'] 正規表現

    文字列の分割・結合 split, join,rsplit
    kent-where-the-light-is
    kent-where-the-light-is 2017/05/15
    “join: 文字列シーケンスの連結 sep.join(seq) sepを区切り文字として、seqを連結してひとつの文字列にする。 >>> ":".join(["a", "b", "cde"]); 'a:b:cde' ”
  • forループで便利な zip, enumerate関数

    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]

    forループで便利な zip, enumerate関数
    kent-where-the-light-is
    kent-where-the-light-is 2016/07/02
    “enumerate関数 インデックスとともにループ ループする際にインデックスつきで要素を得ることができる。 ”
  • format関数による文字列フォーマット(新しい形式 / 3.6対応)

    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")

    format関数による文字列フォーマット(新しい形式 / 3.6対応)
    kent-where-the-light-is
    kent-where-the-light-is 2016/07/01
    “"{0:^10}".format("Hello") #10文字幅。センタリング”
  • 1