【发布时间】:2015-12-04 02:38:05
【问题描述】:
我找不到任何可以解决我的问题的方法。
我有一个函数 testdata() 将数据切片作为字典返回。键被编号为文本(前导零)以供参考。
函数返回下面的dict...
mydict = {}
some stuff here
pprint(mydict)
{'01': [u'test1',
u'test2',
u'test3'],
'02': [u'test4',
u'test5',
u'test6'],
'03': [u'test7',
u'test8',
u'test9']
}
我现在想将切片的 (01, 02, 03) 键值作为逗号分隔的列表/字符串一个接一个地发送到另一个函数。
所以第一次迭代是访问“01”并创建列表“test1,test2,test3”,然后将其作为参数发送给我的其他函数分析(arg)。
这就是我所拥有的......
getdata = testdata() #
for x in getdata:
incr = 0
analysis(x['01': incr])
incr += 1
我收到以下错误:
ERROR:root:Unexpected error:(<type 'exceptions.TypeError'>, TypeError('slice indices must be integers or None or have an __index__ method',), <traceback object at 0x10351af80>)
【问题讨论】:
-
如果正确,你能修复缩进错误吗?也试试这个语法
analysis(x['01'][incr]) -
您正在设置
incr = 0,所以incr是一个int,但随后您执行incr(0),它像函数一样调用它。你不能调用 int。 -
@ChadS。抱歉我已经更新了。那是一个错字。
-
@itsneo 不确定你的意思是什么缩进
-
我认为您需要阅读更多教程并尝试使用更简单的数据结构,直到您掌握 dicts 的工作原理。
标签: python python-2.7 dictionary