メインコンテンツまでスキップ

「Python」タグの記事が75件件あります

全てのタグを見る

Python: 辞書の全てのキーと値をソートしてたどる - sorted()関数

· 約2分
Yu Sasaki
Enterprise Security Manager / Advisor

ソースコード

#!/usr/bin/python
# coding: UTF-8
# 辞書の全てのキーと値をソートしてたどる | sorted()関数の使い方
# 辞書の初期化(名前:年齢)
profile = { 'Hana':19, 'Toru':26, 'Katori':15, 'Sato':45}
# 初期化の確認: 辞書のitems()メソッドで全てのキー(key), 値(value)をたどる
for (k, v) in profile.items():
print 'キー: %-6s, 値: %2d' % (k, v)
print
# ↑items()はキーと値のタプルを返している。
# (丸括弧)は省略してもOK→ for k, v in profile.items(): とも書ける
# 辞書の全てのキーをソートしてたどる
for k in sorted(profile.keys()):
print 'キー: %-6s, 値: %2d' % (k, profile[k])
print
# キーである文字列がここではアルファベット順にソートされる(文字コードでの昇順)
# 組み込み関数sorted()は第1引数にリストを取り、それをソートしたリストを返す。
# 辞書の全ての値をソートしてたどる
for v in sorted(profile.values()):
print '値:', v
print
# 値である整数が昇順にソートされて表示される
# 辞書の全てのキーを降順(逆順)にソートしてたどる
for k in sorted(profile.keys(), reverse=True):
print 'キー: %-6s, 値: %2d' % (k, profile[k])
print
# 関数sorted()の第4引数(ここではオプション引数として)に
# ソート順序を逆順にするフラグを設定 reverse=True
# 辞書の全ての値を降順(逆順)ソートしてたどる
for v in sorted(profile.values(), reverse=True):
print '値:', v
print

実行結果

キー: Toru , 値: 26
キー: Hana , 値: 19
キー: Katori, 値: 15
キー: Sato , 値: 45
キー: Hana , 値: 19
キー: Katori, 値: 15
キー: Sato , 値: 45
キー: Toru , 値: 26
値: 15
値: 19
値: 26
値: 45
キー: Toru , 値: 26
キー: Sato , 値: 45
キー: Katori, 値: 15
キー: Hana , 値: 19
値: 45
値: 26
値: 19
値: 15

リファレンス

チュートリアル

Python: 辞書の全てのキーと値をたどる - items(), keys(), values()メソッド

· 約2分
Yu Sasaki
Enterprise Security Manager / Advisor

ソースコード

#!/usr/bin/python
# coding: UTF-8
# 辞書の全てのキーと値をたどる | items(), keys(), values()メソッドの使い方
# 辞書の初期化
profile = { 'Hana':19, 'Toru':26, 'Katori':15, 'Sato':45}
print profile, '\n' # 出力して確認
# 辞書のitems()メソッドで全てのキー(key), 値(value)をたどる
for k, v in profile.items(): # for/if文では文末のコロン「:」を忘れないように
print k, v
# items()メソッドの戻り値
print 'items():', profile.items(), '\n' # keyとvalueのタプルのリストを返している
# 辞書のkeys()メソッドで全てのキーをたどる
for k in profile.keys():
print 'key:', k
# keys()メソッドの戻り値
print 'keys():', profile.keys(), '\n' # keyリストを返している
# 辞書のvalues()メソッドで全ての値をたどる
for v in profile.values():
print 'value:', v
# values()メソッドの戻り値
print 'values():', profile.values(), '\n' # valueのリストを返している

実行結果

{'Toru': 26, 'Hana': 19, 'Katori': 15, 'Sato': 45}
Toru 26
Hana 19
Katori 15
Sato 45
items(): [('Toru', 26), ('Hana', 19), ('Katori', 15), ('Sato', 45)]
key: Toru
key: Hana
key: Katori
key: Sato
keys(): ['Toru', 'Hana', 'Katori', 'Sato']
value: 26
value: 19
value: 15
value: 45
values(): [26, 19, 15, 45]

リファレンス

チュートリアル

Python: 辞書の初期化・出力・代入

· 約3分
Yu Sasaki
Enterprise Security Manager / Advisor

ソースコード

#!/usr/bin/python
# coding: UTF-8
# 辞書とは: リストに似たデータ型で、要素(値)を指定するのに数値以外のデータ型(key)を使用することが出来る。
# key(キー)とそれに対応するvalue(値)のペアが「辞書の一要素」となる。ハッシュみたい
# 辞書の初期化
dic1 = { 1:'robot', 'two':'AI' , 3:['Maya', 'Shade']}
dic2 = { (1, 3):'tuple' }
dicE = {} # 空の状態で初期化
# ↑書式 {key1:VALUE, key2:VALUE, ...} keyの重複はNG, valueはOK
# keyとvalueはコロン「:」で繋ぐ
# 辞書中のkeyの型は混在してもOK
# keyになれる型はimmutableな整数、文字列、タプルなど
# valueの型は何でもOK
print type(dic1) # データ型は?
print dic1 # 要素の順序が代入通りに出力されるとは限らない(決まっていない)
print type(dic2)
print dic2
print type(dicE)
print dicE
print
# もちろん、辞書の中のvalueに辞書が入っていてもOK
dic3 = { 'taro':{'age':15, 'hight':171}, 'jun':{'age':19, 'hight':178} }
print dic3
print
# 値(value)の出力
print dic1[3] # keyを[大括弧]で指定(×波括弧)
print dic3['jun']
print
# 辞書全体を出力
for k, v in dic1.items(): # for/if文では文末のコロン「:」を忘れないように
print k, v
print
# 辞書にキーと値の代入
dic4 = {}
dic4[1] = 'Python'
dic4['well'] = 'Java'
dic4['hate'] = ['remissness', 4, 9, 13]
print dic4
print 'It is %s to make full use of %s.' % ('good', dic4['well'])
print
# 値の上書き
dic4['well'] = 'Python' # 指定したキーに既に値が存在してる場合、その値を上書きする
print 'It is %s to make full use of %s.' % ('good', dic4['well'])

実行結果

<type 'dict'>
{1: 'robot', 3: ['Maya', 'Shade'], 'two': 'AI'}
<type 'dict'>
{(1, 3): 'tuple'}
<type 'dict'>
{}
{'jun': {'age': 19, 'hight': 178}, 'taro': {'age': 15, 'hight': 171}}
['Maya', 'Shade']
{'age': 19, 'hight': 178}
1 robot
3 ['Maya', 'Shade']
two AI
{1: 'Python', 'well': 'Java', 'hate': ['remissness', 4, 9, 13]}
It is good to make full use of Java.
It is good to make full use of Python.

リファレンス

チュートリアル

Python: リストの抽出・連結・要素の追加

· 約3分
Yu Sasaki
Enterprise Security Manager / Advisor

ソースコード

#!/usr/bin/python
# coding: UTF-8
# リストの初期化
num1 = [1, 4, 7, 12, 23, 41, 88, 96]
num2 = [100, 130, 255, 1000]
str1 = ['Jon', 'Mery', 'Sun', 'Ren']
str2 = ['hi', 'hello', 'hey', 'bye', 'ya']
# リストの要素を出力
print num1[3]
print num2[-2]
print
# リストの範囲を指定して抽出(シーケンス型に備わっている操作)
extr_n1 = num1[:-3] # 先頭から最末尾の3つ手前の要素までのリストを抽出
print extr_n1
extr_n2 = num1[2:] # 添え字の2から末尾までの要素のリストを抽出
print extr_n2
extr_s1 = str2[1:-2] # 添え字の1から末尾の2つ手前の要素までのリストを抽出
print extr_s1
extr_n3 = num1[1:6:2] # 1から5まで2つとびのリストを抽出
print extr_n3
extr_n4 = num1[1:6]
print extr_n4
print
# リストの連結
cmbn = num1 + num2 # 2項演算子'+'で連結
print cmbn
cmbs = str1 + str2
print cmbs
cmbhy = num1 + str1 # 中の要素が異なっていてもOK
print cmbhy
print
# リストの連結(データ型を文字列に変更)(文字列のメソッド)
print cmbs
ch = ','
cmb1 = ch.join(cmbs) # joinの引数にはstring要素のリストを。cmbnだとエラー
print type(cmb1)
print cmb1
print
# リストに要素の追加(注:データそのものを書き換える)
num3 = [1100, 1130, 1255, 1300]
print num3
num3.append(3)
print num3
str3 = ['hi', 'hello', 'hey', 'bye', 'ya']
print str3
str3.append('Yap')
print str3
print

実行結果

12
255
[1, 4, 7, 12, 23]
[7, 12, 23, 41, 88, 96]
['hello', 'hey']
[4, 12, 41]
[4, 7, 12, 23, 41]
[1, 4, 7, 12, 23, 41, 88, 96, 100, 130, 255, 1000]
['Jon', 'Mery', 'Sun', 'Ren', 'hi', 'hello', 'hey', 'bye', 'ya']
[1, 4, 7, 12, 23, 41, 88, 96, 'Jon', 'Mery', 'Sun', 'Ren']
['Jon', 'Mery', 'Sun', 'Ren', 'hi', 'hello', 'hey', 'bye', 'ya']
<type 'str'>
Jon,Mery,Sun,Ren,hi,hello,hey,bye,ya
[1100, 1130, 1255, 1300]
[1100, 1130, 1255, 1300, 3]
['hi', 'hello', 'hey', 'bye', 'ya']
['hi', 'hello', 'hey', 'bye', 'ya', 'Yap']

リファレンス

チュートリアル

Python: リストの初期化・出力・代入・要素数

· 約2分
Yu Sasaki
Enterprise Security Manager / Advisor

ソースコード

#!/usr/bin/python
# coding: UTF-8
# リストの初期化
numbers = [1, 4, 7, 12, 23]
strings = ['Jon', 'Mery', 'Sun', 'Ren']
empty = [] # 空リスト
inilist = [0] * 4 # 0で初期化された要素が4つのリスト
# 型は?
print type(numbers)
print type(strings)
print type(empty)
print
# リストの全ての要素を表示
print numbers
print strings
print empty
print inilist
print
# for文で全要素を表示
for i in range(len(numbers)): # lenでリストの要素数を求める, rangeにループ回数(回数分の要素のリストが戻り値), inはリストをとる
print '%d, ' % (numbers[i]), # print文の末尾に「,」を付けると改行しない
print '\n'
# リストの要素の1つを表示
print numbers[0] # 要素は0から始まる
print numbers[3]
print strings[-1] # 最末尾の要素
print strings[-3]
print
# リスト要素に代入
numbers[2] = 1000
strings[1] = 'Micky'
# 代入の確認
print numbers[2]
print strings[1]

実行結果

<type 'list'>
<type 'list'>
<type 'list'>
[1, 4, 7, 12, 23]
['Jon', 'Mery', 'Sun', 'Ren']
[]
[0, 0, 0, 0]
1, 4, 7, 12, 23,
1
12
Ren
Mery
1000
Micky

リファレンス

チュートリアル