🖥

なぜ #python は match オブジェクトへの辞書アクセスなんかを開放したりしたのだい? ( `TypeError: '_sre.S

2019/04/14に公開

3.4.8

Python 3.4.8 (default, Apr  9 2018, 11:43:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.search(r'b', 'abc').group(0)
'b'
>>> re.search(r'b', 'abc')[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '_sre.SRE_Match' object is not subscriptable

3.7.2

Python 3.7.2 (default, Jan 13 2019, 12:50:01)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.search(r'b', 'abc').group(0)
'b'
>>> re.search(r'b', 'abc')[0]
'b'

ref

re — Regular expression operations — Python 3.7.3 documentation

group に簡単にアクセスできるよ! ってことらしい。ありがとう python

image

ちなみに ruby の例

[5] pry(main)> 'abc'.match(/b/)[0]
=> "b"

うんたしかに 辞書のほうが分かりやすくはあるかもね

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/1273

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-04-14

Discussion