import re
data = '''
太郎 taro@yamada.com
花子 hanako@flower.jp
一郎 ichiro@baseball.fr
祥子 sachico@happy.org
'''
relist =re.sub(
r'([a-zA-Z0-9.-_]+)@([a-zA-Z0-9.]+)(.*$)',
r'(***@\2jp)', data)
print(relist)
正
import re
data = '''
太郎 taro@yamada.com
花子 hanako@flower.jp
一郎 ichiro@baseball.fr
祥子 sachico@happy.org
'''
relist =re.sub(
r'([a-zA-Z0-9.-_]+)@([a-zA-Z0-9.]+)(com|jp|fr|org)',
r'(***@\2jp)', data)
print(relist)
(以下2018年3月30日更新)
P.241 4-04の「リスト内包表記の例」の「・基本は変数とfor文」の実行例の4行目
誤
[y for y in {Alpha: 'a' , beta: 'b'}]
正
[y for y in {'alpha': 'a' , 'beta': 'b'}]
P.270 下から3行目5-02の「戻り値の利用」の説明文
誤
...してしておくことで
正
...指定しておくことで
P.281 下から5行目5-02の「変数のスコープ」の説明文
誤
for、whilteなどの内部で作成した変数は、...
正
for、whileなどの内部で作成した変数は、...
P.311 下から3行目 6-02の「変数」の「・インスタンス変数を使う」の説明文
誤
MyObjeクラスの中に、「message」...
正
Memoクラスの中に、「message」...
P.327 6-03のコラム「+演算子で加算する」の説明文
誤
クラスではでも...
正
クラスでも...
P.342 下から7行目6-04の「オーバーライド」の「・メソッドは上書きできる」内の解説
誤
Peronにあるメソッドと同じ...
正
Personにあるメソッドと同じ...
P.368 7-02の「tryによる例外処理」の「・try-exceptについて」内の解説
誤
例外は受け止めれれず
正
例外は受け止められず
(以下2018年3月26日更新)
3-01の図3-11
誤
insert(1, 100)
正
insert(1, 1000)
最上段の図中の表記が間違っていました。
3-02の「タプルの乗算」の実行例
実行結果の末尾にtpという文字が含まれていますが実際は表示されません。
4-03のリスト4-15とその実行結果
誤
data ={'国語':98,'数学':82,'理科':67,'社会':59,'英語':65}
total = 0
for k in data:
if k in {'国語', '数学', '英語'}:
print(k + ":" + str(data[k]))
else:
continue
total += data[k]
else:
print("=======データは以上です=======")
ave = total // len(data)
msg = "合計:" + str(total) + " 平均:" + str(ave)
print(msg)
正
data ={'国語':98,'数学':82,'理科':67,'社会':59,'英語':65}
total = 0
for k in data:
if k in {'国語', '数学', '英語'}:
print(k + ":" + str(data[k]))
else:
continue
total += data[k]
else:
print("=======データは以上です=======")
ave = total // 3 # 3教科で計算
msg = "合計:" + str(total) + " 平均:" + str(ave)
print(msg)