Skip to content

Conversation

pmiddend
Copy link

@pmiddend pmiddend commented Jun 9, 2022

Type of Changes

Type
πŸ› Bug fix
βœ“ ✨ New feature
πŸ”¨ Refactoring
πŸ“œ Docs

Description

I noticed that I rarely use direct dictionary access, as in myfunction(foo["bar"]), since foo might not contain "bar". I usually go for foo.get("bar") (or some other default value) to be safe. I wanted a checker that checks my code for these direct dictionary subscripts and reports them. I found a few bugs that way already and thought this might fit into pylint in general.

The following will produce a message:

mydict = { "foo": 3 }
print(mydict["foo"])

Whereas this will not:

mydict = { "foo": 3 }
print(mydict.get("foo"))

This is also fine:

mydict = {}
mydict["foo"] = 3

Since assignment is safe per se.

@pmiddend
Copy link
Author

pmiddend commented Jun 9, 2022

The new checker seems to be enabled in the tests by default (which makes them fail). I'm not sure what the best course of action is here, or if the checker is even in the right place. Can anyone assist?

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copy link
Member

@jacobtylerwalls jacobtylerwalls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your interest in contributing this to pylint. I think at the least this should be an optional extension. See the examples in pylint/checkers/extensions. So that will solve the bulk of the test failures.

You might wait to hear positive feedback from others before continuing, as this is the sort of thing that might be too strict even for an optional extension.

@jacobtylerwalls jacobtylerwalls added Proposal πŸ“¨ Optional Checkers Related to a checked, disabled by default Enhancement ✨ Improvement to a component labels Jun 9, 2022
@Pierre-Sassoulas
Copy link
Member

I don't have time for a full review right now but as Jacob said it needs to be an extension. We have really opinionated extensions already so it's ok. (While used, for example).

@pmiddend
Copy link
Author

pmiddend commented Jun 9, 2022

Thanks @Pierre-Sassoulas for the vote of confidence and @jacobtylerwalls for the general hints! I'll move the check to an extension and am absolutely open to more opinions on the matter. Worst case, I'll release it on pypi or something and it'll be more unofficial. :)

@pmiddend pmiddend force-pushed the direct-dict-access-checker branch from 839da60 to c713d57 Compare June 10, 2022 09:12
@pmiddend pmiddend force-pushed the direct-dict-access-checker branch from 093cb37 to 7d545e4 Compare June 10, 2022 09:28
@github-actions

This comment has been minimized.

@pmiddend
Copy link
Author

I have fixed a few issues and put the checker into an extension.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this need some functional tests, in particular what happen when the code is:

d = {}
try:
    d["a"] = 1
except KeyError:
    print("The 'a' key does not exists in d")

@pmiddend
Copy link
Author

I think this need some functional tests, in particular what happen when the code is:

d = {}
try:
    d["a"] = 1
except KeyError:
    print("The 'a' key does not exists in d")

I added a functional test. I fails on my local machine, although I don't see where I went wrong.

The code you showed doesn't make all that much sense, since d["a"] = 1 will never produce KeyError. You meant to say d["a"], I suppose, which raises.

One could try to check if, by going up the scope, one encounters an except KeyError, but I'm not sure that's a good idea. Getting the user to use get instead of directly using a dictionary subscript and excepting is kind of the point of this extension. I could try to extend the code, however.

@github-actions
Copy link
Contributor

πŸ€– Effect of this PR on checked open source code: πŸ€–

Effect on astroid:
The following messages are now emitted:

  1. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/modutils.py#L176
  2. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/bases.py#L118
  3. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/util.py#L130
  4. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/raw_building.py#L466
  5. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/raw_building.py#L482
  6. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L90
  7. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L110
  8. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L112
  9. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L153
  10. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L272
  11. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/manager.py#L382
  12. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/decorators.py#L191
  13. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/brain/brain_gi.py#L194
  14. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/brain/brain_dataclasses.py#L106
  15. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/interpreter/_import/util.py#L41
  16. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/interpreter/_import/spec.py#L195
  17. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/node_classes.py#L123
  18. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/node_classes.py#L128
  19. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/node_classes.py#L138
  20. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/node_classes.py#L156
  21. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/scoped_nodes/mixin.py#L56
  22. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/PyCQA/astroid/blob/main/astroid/nodes/scoped_nodes/mixin.py#L120

Effect on black:
The following messages are now emitted:

  1. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/__init__.py#L1237
  2. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/__init__.py#L1332
  3. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/comments.py#L132
  4. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/brackets.py#L110
  5. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/brackets.py#L239
  6. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/black/mode.py#L142
  7. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pygram.py#L191
  8. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pygram.py#L195
  9. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pygram.py#L196
  10. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/tokenize.py#L195
  11. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/driver.py#L164
  12. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/pgen.py#L75
  13. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/pgen.py#L175
  14. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/conv.py#L177
  15. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/psf/black/blob/main/src/blib2to3/pgen2/conv.py#L178

Effect on flask:
The following messages are now emitted:

  1. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pallets/flask/blob/main/src/flask/ctx.py#L49
  2. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pallets/flask/blob/main/src/flask/ctx.py#L58
  3. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pallets/flask/blob/main/src/flask/app.py#L565
  4. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pallets/flask/blob/main/src/flask/app.py#L1563
  5. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pallets/flask/blob/main/src/flask/json/tag.py#L304

Effect on pandas:
The following messages are now emitted:

  1. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/__init__.py#L179
  2. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/__init__.py#L207
  3. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/_version.py#L64
  4. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L638
  5. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L647
  6. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L655
  7. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L666
  8. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L666
  9. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L674
  10. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L685
  11. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/conftest.py#L700
  12. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_core.py#L1885
  13. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/tools.py#L117
  14. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/hist.py#L92
  15. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L367
  16. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L370
  17. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L374
  18. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L376
  19. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L379
  20. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L1361
  21. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L1504
  22. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L1568
  23. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/core.py#L1573
  24. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/__init__.py#L70
  25. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/timeseries.py#L140
  26. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/misc.py#L181
  27. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/misc.py#L182
  28. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/misc.py#L186
  29. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/plotting/_matplotlib/misc.py#L187
  30. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/test_expressions.py#L286
  31. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/test_expressions.py#L286
  32. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/test_aggregation.py#L39
  33. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/test_aggregation.py#L40
  34. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/test_aggregation.py#L41
  35. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexes/interval/test_indexing.py#L62
  36. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexes/interval/test_indexing.py#L63
  37. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/internals/test_internals.py#L221
  38. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_cython_aggregations.py#L70
  39. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_cython_aggregations.py#L70
  40. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_win_type.py#L456
  41. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_win_type.py#L579
  42. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_win_type.py#L647
  43. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_win_type.py#L651
  44. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/window/test_win_type.py#L676
  45. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/common.py#L428
  46. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/common.py#L443
  47. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/test_hist_method.py#L369
  48. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/frame/test_frame.py#L1817
  49. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/frame/test_frame_color.py#L551
  50. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/frame/test_frame_color.py#L552
  51. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/frame/test_frame_color.py#L553
  52. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/plotting/frame/test_frame_color.py#L554
  53. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/exchange/test_impl.py#L55
  54. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/exchange/test_impl.py#L157
  55. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_nth.py#L806
  56. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_function.py#L491
  57. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_function.py#L493
  58. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_groupby_dropna.py#L197
  59. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_categorical.py#L1758
  60. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_categorical.py#L1784
  61. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_groupby.py#L80
  62. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_groupby.py#L1458
  63. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/test_groupby.py#L2459
  64. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/groupby/transform/test_transform.py#L460
  65. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/arrays/test_datetimes.py#L24
  66. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/series/test_constructors.py#L1795
  67. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/apply/test_frame_transform.py#L245
  68. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/apply/test_series_apply.py#L445
  69. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/apply/test_series_apply.py#L445
  70. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/apply/test_series_apply.py#L446
  71. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/apply/test_series_apply.py#L446
  72. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/tslibs/test_liboffsets.py#L139
  73. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L164
  74. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L164
  75. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L165
  76. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L165
  77. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L175
  78. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L378
  79. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_query_eval.py#L380
  80. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/test_constructors.py#L794
  81. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_rank.py#L289
  82. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_astype.py#L304
  83. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L125
  84. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L855
  85. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L855
  86. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L870
  87. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L895
  88. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1078
  89. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1080
  90. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1080
  91. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1110
  92. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1111
  93. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/frame/methods/test_replace.py#L1111
  94. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/extension/base/dim2.py#L210
  95. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/extension/base/dim2.py#L213
  96. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L851
  97. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L851
  98. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L853
  99. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L853
  100. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L860
  101. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L880
  102. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L883
  103. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L898
  104. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L903
  105. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L920
  106. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/indexing/test_coercion.py#L938
  107. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/test_nat.py#L484
  108. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/test_na_scalar.py#L49
  109. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/test_na_scalar.py#L274
  110. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/test_na_scalar.py#L275
  111. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/timedelta/test_timedelta.py#L715
  112. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/scalar/timestamp/test_timestamp.py#L446
  113. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/tseries/offsets/test_offsets.py#L309
  114. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/tseries/offsets/test_offsets.py#L383
  115. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_stata.py#L733
  116. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_stata.py#L1819
  117. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_user_agent.py#L351
  118. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_sql.py#L720
  119. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_sql.py#L726
  120. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_sql.py#L732
  121. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_clipboard.py#L133
  122. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L167
  123. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L168
  124. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L169
  125. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L189
  126. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L189
  127. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L190
  128. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L190
  129. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/generate_legacy_storage_files.py#L191
  130. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/test_format.py#L2626
  131. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/test_format.py#L2629
  132. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/test_format.py#L2632
  133. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/test_format.py#L2638
  134. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/test_to_excel.py#L342
  135. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/style/test_matplotlib.py#L80
  136. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/style/test_style.py#L433
  137. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/formats/style/test_style.py#L453
  138. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/json/test_json_table_schema.py#L119
  139. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/json/test_json_table_schema.py#L662
  140. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L47
  141. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L48
  142. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L49
  143. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L50
  144. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L51
  145. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/excel/test_openpyxl.py#L52
  146. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L241
  147. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L242
  148. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L243
  149. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L244
  150. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L245
  151. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L247
  152. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L248
  153. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L249
  154. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L261
  155. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/pytables/test_store.py#L263
  156. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/conftest.py#L110
  157. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/conftest.py#L165
  158. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/conftest.py#L166
  159. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/test_textreader.py#L198
  160. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/test_textreader.py#L227
  161. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/dtypes/test_categorical.py#L255
  162. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/dtypes/test_categorical.py#L277
  163. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/parser/dtypes/test_categorical.py#L307
  164. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/util/test_deprecate_kwarg.py#L41
  165. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/computation/test_eval.py#L86
  166. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/computation/test_eval.py#L1812
  167. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/computation/test_eval.py#L1813
  168. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/computation/test_eval.py#L1814
  169. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/computation/test_compat.py#L19
  170. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/concat/test_append_common.py#L54
  171. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/concat/test_concat.py#L458
  172. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_join.py#L51
  173. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_join.py#L51
  174. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_join.py#L51
  175. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_merge.py#L2307
  176. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_merge.py#L2318
  177. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/tests/reshape/merge/test_merge.py#L2327
  178. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/base.py#L1267
  179. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/apply.py#L874
  180. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/apply.py#L877
  181. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/missing.py#L907
  182. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/missing.py#L908
  183. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L542
  184. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L795
  185. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L2088
  186. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L2254
  187. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L2255
  188. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L2869
  189. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L2870
  190. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L3294
  191. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L3295
  192. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L3991
  193. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L4745
  194. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L4746
  195. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L5484
  196. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6549
  197. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6571
  198. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6594
  199. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6595
  200. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6596
  201. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L6597
  202. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L7268
  203. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L7331
  204. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L7335
  205. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L7398
  206. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L8693
  207. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L8693
  208. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L9237
  209. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L9391
  210. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L9432
  211. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L9830
  212. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L9889
  213. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L11531
  214. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L11548
  215. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L12191
  216. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L12217
  217. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/generic.py#L12221
  218. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L1315
  219. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L1324
  220. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2545
  221. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2546
  222. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2739
  223. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2740
  224. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2791
  225. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2997
  226. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L2998
  227. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L5495
  228. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L6111
  229. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L6116
  230. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L6123
  231. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L6127
  232. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L7114
  233. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L7401
  234. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L7504
  235. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8023
  236. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8214
  237. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8364
  238. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8765
  239. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8977
  240. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8978
  241. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L8979
  242. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L9046
  243. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L9047
  244. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L9048
  245. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L10670
  246. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/frame.py#L10694
  247. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L1611
  248. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L1612
  249. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L1923
  250. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L3070
  251. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L3131
  252. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4028
  253. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4380
  254. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4381
  255. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4382
  256. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4437
  257. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4438
  258. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4439
  259. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4628
  260. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4629
  261. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4834
  262. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4835
  263. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4836
  264. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L4837
  265. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5168
  266. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5169
  267. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5170
  268. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5229
  269. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5497
  270. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5502
  271. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5510
  272. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/series.py#L5515
  273. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/resample.py#L344
  274. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/base.py#L1155
  275. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/base.py#L1243
  276. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/base.py#L3868
  277. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/base.py#L6003
  278. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L149
  279. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L153
  280. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L240
  281. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L276
  282. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L313
  283. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/interval.py#L706
  284. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/datetimelike.py#L691
  285. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/multi.py#L2143
  286. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/multi.py#L2212
  287. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/numeric.py#L112
  288. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/numeric.py#L116
  289. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/numeric.py#L371
  290. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/numeric.py#L386
  291. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/numeric.py#L401
  292. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/indexes/category.py#L198
  293. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/internals/array_manager.py#L223
  294. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/internals/array_manager.py#L273
  295. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/internals/array_manager.py#L276
  296. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/internals/managers.py#L282
  297. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/window/ewm.py#L488
  298. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/window/rolling.py#L1245
  299. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/window/rolling.py#L1885
  300. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/window/expanding.py#L151
  301. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/tools/datetimes.py#L1166
  302. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/tools/datetimes.py#L1170
  303. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/exchange/column.py#L330
  304. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/exchange/from_dataframe.py#L126
  305. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/exchange/from_dataframe.py#L128
  306. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/exchange/from_dataframe.py#L130
  307. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/exchange/from_dataframe.py#L132
  308. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/ops.py#L167
  309. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/generic.py#L244
  310. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/generic.py#L245
  311. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/generic.py#L1568
  312. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/generic.py#L1604
  313. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/groupby.py#L1463
  314. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/groupby/groupby.py#L1464
  315. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/masked.py#L1042
  316. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/base.py#L1098
  317. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L178
  318. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L408
  319. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L487
  320. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L554
  321. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1313
  322. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1374
  323. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1420
  324. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1534
  325. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1586
  326. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/arrays/interval.py#L1630
  327. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L411
  328. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L413
  329. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L414
  330. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L415
  331. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L417
  332. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L417
  333. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L418
  334. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L420
  335. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/docstrings.py#L420
  336. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/ops/__init__.py#L461
  337. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/dtypes/dtypes.py#L883
  338. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/dtypes/dtypes.py#L1155
  339. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/dtypes/dtypes.py#L1473
  340. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/dtypes/dtypes.py#L1477
  341. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L777
  342. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L865
  343. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L965
  344. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L979
  345. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1622
  346. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1627
  347. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1632
  348. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1976
  349. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1989
  350. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L1998
  351. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2054
  352. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2062
  353. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2712
  354. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2729
  355. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2795
  356. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2813
  357. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2973
  358. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2973
  359. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2979
  360. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2979
  361. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2985
  362. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2985
  363. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2991
  364. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2991
  365. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas/core/strings/accessor.py#L2997
  366. dict-subscript:
    Using dict operator [], consider using get() instead
    https://github.com/pandas-dev/pandas/blob/main/pandas...

This comment was truncated because GitHub allows only 65536 characters in a comment.

This comment was generated for commit 4ba4d9e

@Pierre-Sassoulas
Copy link
Member

The code you showed doesn't make all that much sense, since d["a"] = 1 will never produce KeyError. You meant to say d["a"], I suppose, which raises.

Right, my bad.

Getting the user to use get instead of directly using a dictionary subscript and excepting is kind of the point of this extension.

OK, I understand what you want to do now. it's very opinionated though, more so than the while-checker and even harmful performance wise. The 350+ violations in flask are indicative of that.

I'll re-add the discussion label because I think we need to make "editorial choices" at some point to prevent users having to triage our extensions themselves. Pushed to the extreme this policy of adding very opinionated checkers that seems easy to maintain in pylint is not workable because it's creating noise in our doc and in the --enable-all-extensions. And if we're removing that noise with an "opinionated option" to remove it from the doc or from our enable all extensions option... then why are we adding the checker to pylint in the first place ? Drawing the line is not easy but I think this checker might be better as a pylint plugin.

@jacobtylerwalls
Copy link
Member

Thanks for taking the time to prepare a pull request. I agree, though, with Pierre that this is probably better as a plugin maintained outside the pylint project. If we hear more requests, I'll point folks here and revisit the issue.

@pmiddend
Copy link
Author

@jacobtylerwalls I understand, and have begun migrating this to a pylint plugin which will be released on pypi. Thanks for the pleasent review process :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion πŸ€” Enhancement ✨ Improvement to a component Optional Checkers Related to a checked, disabled by default
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants