我正在编写一个概念学习程序,我需要在其中将索引转换为类别名称。
例如:
# binary concept learning
# candidate eliminaton learning algorithm
import numpy as np
import csv
def main():
d1={0:'0', 1:'Japan', 2: 'USA', 3: 'Korea', 4: 'Germany', 5:'?'}
d2={0:'0', 1:'Honda', 2: 'Chrysler', 3: 'Toyota', 4:'?'}
d3={0:'0', 1:'Blue', 2:'Green', 3: 'Red', 4:'White', 5:'?'}
d4={0:'0', 1:1970,2:1980, 3:1990, 4:2000, 5:'?'}
d5={0:'0', 1:'Economy', 2:'Sports', 3:'SUV', 4:'?'}
a=[0,1,2,3,4]
print a
if __name__=="__main__":
main()
所以 [0,1,2,3,4] 应该转换为 ['0', 'Honda', 'Green', '1990', '?']。执行此操作的最 pythonic 方法是什么?
请您参考如下方法:
我认为你需要一个基本的词典速成类(class):
这是一个合适的字典:
>>>d1 = { 'tires' : 'yoko', 'manufacturer': 'honda', 'vtec' : 'no' }
您可以轻松调用字典中的个别事物:
>>>d1['tires']
'yoko'
>>>d1['vtec'] = 'yes' #mad vtec yo
>>>d1['vtec']
'yes'
字典分为两个不同的部分,键和值
testDict = {'key':'value'}
您使用字典的方式与使用列表的方式完全相同:
>>>test = {0:"thing0", 1:"thing1"} #dictionary
>>>test[0]
'thing0'
这几乎和说的完全一样
>>>test = ['thing0','thing1'] #list
>>>test[0]
'thing0'
在您的特定情况下,您可能希望正确格式化您的词典(我建议像 masterdictionary = {'country': ['germany','france','USA','japan], 'manufacturer': ['honda','ferrarri','hoopty'] } 等等因为你可以更容易地调用你想要的每个单独的项目
使用相同的字典:
>>>masterdictionary['country'][1]
'germany'
这是 dictionaryName['key'][iteminlistindex]
当然,没有什么可以阻止您将字典作为字典中的值...放在其他字典的值中...
