Python 如何创建将字典转换为矩阵的函数,而无需numpy或任何类似的软件包
给你一本字典,它是数字和特征的映射。创建一个函数,将字典转换为矩阵,而不使用numpy或任何类似的包。只需使用基本的python操作。 输入字典:Python 如何创建将字典转换为矩阵的函数,而无需numpy或任何类似的软件包,python,function,dictionary,matrix,converter,Python,Function,Dictionary,Matrix,Converter,给你一本字典,它是数字和特征的映射。创建一个函数,将字典转换为矩阵,而不使用numpy或任何类似的包。只需使用基本的python操作。 输入字典: { 11:['a','b','c'] 22:['c','d','e'] } 输出必须如下所示: [ ['tag','a','b','c','d','e'] [11,1,1,1,0,0] [22,0,0,1,1,1] ] 我试过了,但帮不上忙下次请别忘了在评论中添加大家要求你做的事情:) d={ 11:[a'、'b'、'c'], 22:
{
11:['a','b','c']
22:['c','d','e'] }
输出必须如下所示:
[ ['tag','a','b','c','d','e']
[11,1,1,1,0,0]
[22,0,0,1,1,1]
]
我试过了,但帮不上忙下次请别忘了在评论中添加大家要求你做的事情:)
d={
11:[a'、'b'、'c'],
22:['c','d','e']
}
all_val=['tag']
#使用列表理解
#对于d.values()中的v,功能总是按顺序排列的吗?你能告诉我们你的尝试吗?听起来像是学校的测验。到目前为止,您尝试了什么?是的,特性总是按顺序排列的“香草”python中没有矩阵类型。你是说?
d = {
11:['a','b','c'],
22:['c','d','e']
}
all_val = ['tag']
# using list comprehension
# for v in d.values() <-- outer loop
# for _ in v <-- inner loop
# set because idk whether each key have unique set of values
for char in sorted(set([ _ for v in d.values() for _ in v] )):
all_val.append(char)
output_2d = []
output_2d.append(all_val)
for k,v in d.items():
output_2d.append([k])
for tag in all_val[1:]:
if tag in v:
output_2d[-1].append(1)
else:
output_2d[-1].append(0)
print(output_2d)