| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Python3

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

Python3

Python

言語

内包表記

基本

>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

二重ループと条件

  • 式、 for 句、そして0個以上の for か if 句で構成
>>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
  • 以下と等価
>>> combs = []
>>> for x in [1,2,3]:
...     for y in [3,1,4]:
...         if x != y:
...             combs.append((x, y))
...
>>> combs

ネスト

  • ネストしたリストを展開
>>> [col for row in [[1,3,5],[2,4,6]] for col in row]
[1, 3, 5, 2, 4, 6]

ライブラリ

書式

辞書を展開する

>>> d = {'a':'aaa','b':'bbb'}
>>> "a.is {0[a]}, b is {0[b]}".format(d)
>>> 'a.is aaa, b is bbb' 

Web

GET,POSTリクエスト

from urllib.request import urlopen
from urllib.parse import urlencode

post_data = {
             'searchway':'date',
             'year':'2016',
             'month':'12',
             'day':'31',
             'kaigou':,
             'howmany':'100'
             }
# HTTP リクエストは、data パラメーターが指定された場合 POST に、指定されない場合に GET になります。
html = urlopen('http://www.takarakujinet.co.jp/ajax/numbers3/pastResultPage.do',
               urlencode(post_data).encode('utf-8'))

for l in html.readlines():
    print(l)