75
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pythonで動的に変数を定義する

Last updated at Posted at 2018-10-16

動的に変数を定義

最初に結論、基本的に配列でいいと思う。

いつもformatで動的に文字列などを作成しているが、
変数も動的に定義しようと思ったらどうすんのかと思ったので備忘録。

使いたいなと思ったシチュエーションは、dfで df['name_{}'.format(x)]
みたいな感じで特徴量生成してて、
それをname部分も変えて二重に回したかった。

改めて考えると、やっぱり配列(keyを動的に定義)でいい。

やり方

exec で定義すればいいらしい。

eval で行うとグローバル変数になるので要注意。
evalでは変数定義はできないそうです。コメントでご指摘いただきました。(2018/10/17追記)

サンプルコード

names = ['aaa', 'bbbb', 'ccccc']

for name in names:
    x = len(name)
    exec('{} = {}'.format(name, x))
    
print(aaa) # 3
print(bbbb) # 4
print(ccccc) # 5

なんかにつかえるといいな。

75
53
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
75
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?