Python中文
首页
教程
问答
标签
搜索
登录
注册
如何用python编写这个eval?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想用给定的列表给下面的<code>dict</code><code>y1~y10[name]</code>赋值。你知道吗</p> <p>我知道使用<code>eval(self.y$i[name]) = value</code>是错误的,但是我应该如何在python中这样做呢?你知道吗</p> <pre><code>class excel: def __init__(self): self.base_year = 2004 self.y1 = {'year':self.base_year} self.y2 = {'year':self.base_year + 1} self.y3 = {'year':self.base_year + 2} self.y4 = {'year':self.base_year + 3} self.y5 = {'year':self.base_year + 4} self.y6 = {'year':self.base_year + 5} self.y7 = {'year':self.base_year + 6} self.y8 = {'year':self.base_year + 7} self.y9 = {'year':self.base_year + 8} self.y10 = {'year':self.base_year + 9} def value(self, name, value_list): for value, i in value_list, range(1, 10): eval(self.y$i[name]) = value list = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ] e1.value('test', list) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不需要使用<code>eval</code>当<code>getattr</code>可以:</p> <pre><code>getattr(self, 'y%u' % i)[name] = value </code></pre> <p>但最好把你的孩子们列在一张单子上。这样你就可以:</p> <pre><code>self.y[i][name] = value </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
3 回答
文本小部件:在没有输入时更新并在循环后保持空闲
3 回答
文本小部件tkin
2 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
3 回答
文本小部件tkinter复制图像选项
6 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
7 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
9 回答
文本小部件不显示lis中的内容
8 回答
文本小部件不显示Unicode字符
3 回答
文本小部件中写入的行间距
2 回答
文本小部件中的文本作为变量
6 回答
文本小部件中的滚动条仅显示在底部
4 回答
文本小部件中的选项卡键空间计数
10 回答
文本小部件作为Lis
5 回答
文本小部件在主框架中扩展列宽
8 回答
文本小部件未使用删除功能清除
10 回答
文本小部件滚动动画(Tkinter、Python)
3 回答
文本居中。格式正确吗?
2 回答
文本差分算法
7 回答
文本已知时音频文件中的单词索引
9 回答