为了账号安全,请及时绑定邮箱和手机立即绑定

列表列表而不是元组列表-python

列表列表而不是元组列表-python

牛魔王的故事 2021-03-29 19:15:19
我正在开发一个程序,该程序将给出重复的值列表的所有组合。只要[10,9,8]和[8,9,10]都不可能,结果的排序方式就无关紧要。到目前为止,我有一段代码可以满足我的要求,但是我希望结果以列表格式而不是元组的形式出现。它使用了sage库中的unordered_tuples函数,但所做的只是返回一个列表列表,如下所示:>from sage.all import unordered_tuples>tuples = unordered_tuples([10,9,8],2) >print tuples[[8, 8], [8, 9], [8, 10], [9, 9], [9, 10], [10, 10]] 和:from itertools import productdef combos():    dicti = {}     index = 0     for entry in [1,0,1,0]:         dicIndex = str('0')+str(index)         print dicIndex         if entry == 0: dicti[dicIndex] = [[0]]         else: dicti[str('0')+str(index)] = unordered_tuples([10,9,8],entry)         index += 1     lis = ['00','01','02','03']     value = dicti[lis[0]]     print dicti     for index in lis[1:]:         value = product(value, dicti[index])         if index == lis[-1]:             print list(value)             print 输出:[((([8], [0]), [8]), [0]), ((([8], [0]), [9]), [0]), ((([8], [0]), [10]), [0]), ((([9], [0]), [8]), [0]), ((([9], [0]), [9]), [0]), ((([9], [0]), [10]), [0]), ((([10], [0]), [8]), [0]), ((([10], [0]), [9]), [0]), ((([10], [0]), [10]), [0])] 想:[[[8], [0], [8], [0]], [[8], [0], [9], [0]], [[8], [0], [10], [0]], [[9], [0], [8], [0]], [[9], [0], [9], [0]], [[9], [0], [10], [0]], [[10], [0], [8], [0]], [[10], [0], [9], [0]], [[10], [0], [10], [0]]]
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

output = [[[tuple[0]], [0], [tuple[1]], [0]] for tuple in unordered_tuples([10,9,8],2)]


查看完整回答
反对 回复 2021-04-02
?
萧十郎

TA贡献1815条经验 获得超13个赞

从PostgreSQL数据库提取数据时遇到了类似的问题。这是我使用的方法。


def tupleToList(t):

    l = []

    for i in xrange(len(t)):

        l.append(list(t[i]))

        pass

    return l

    pass

这适用于2D列表。在您的情况下,我正在努力将其添加到5D列表中。


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信