python将一组数据转化为列表_在python中将数据列表的列表转换为矩阵?

我正在编写将列表转换为矩阵的代码。这个函数应该可以扩展到更大的列表,我的输入只是为了使问题更容易解决。

输入:在示例输入中,list 1是水果和颜色对的数据集:list1 = [[["apple", "red"], " 1 "],[["apple", "yellow"], " 1 "], [["apple", "green"], " 1 "]]

list1 += [[["lemon", "red"], " 0 "], [["lemon", "yellow"], " 1 "], [["lemon", "green"], " 0 "]]

list1 += [[["pear ", "red"], " 0 "], [["pear", "yellow"], " 0 "], [["pear", "green"], " 1 "]]

预期输出:['', 'apple', 'lemon', 'pear']

['red', ' 1 ', 0, 0]

['yellow', 0, ' 1 ', 0]

['green', 1, 0, ' 1 ']

-我的输出['///', 'apple', 'lemon', 'pear']

['red', ' 1 ', 0, 0]

['yellow', 0, ' 1 ', 0]

['green', 0, 0, ' 0 ']

我的尝试:# create empty matrix

matrix=[]

for row in range(4):

new_row =[]

for col in range(4):

new_row.append(0) #if starting all-0

matrix.append(new_row)

# add object names

names = ["///", "apple", "lemon", "pear"]

color = ["///", "red", "yellow", "green"]

color = color[::-1]

matrix[0] = names

for row in matrix:

row[0] = color.pop()

second_obj = 0

for row in range(4):

for col in range(4):

if list[row][0][0] == matrix[0][col]:

while list[row][0][1] != matrix[second_obj][0]:

second_obj += 1

else:

if matrix[row][row] != "///":

matrix[row][row] = list[row][1]

second_obj = 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值