将2d元组转换为列表

时间:2015-08-26 11:24:25

标签: list python-3.x replace tuples


我对python不太熟悉,但我需要将2d元组转换为嵌套列表,我在堆栈上搜索我无法找到答案,例如:

Tuple = {(1,3),(3,5),(5,6)}

我需要它成为一个清单:

List = [[1,3],[3,5],[5,6]]

为什么我需要转换一个元组,元组不允许我在元组的内容上使用.replace

我尝试使用互联网上所述的list(),但它没有转换元组,谢谢。

3 个答案:

答案 0 :(得分:3)

你可以这样试试,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

<jasperReport name="cas" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" >
<import value="java.util.Date"/>
<import value="java.text.SimpleDateFormat"/>
    <queryString>
        <![CDATA[]]>
    </queryString>
    <field name="F1" class="java.lang.String"></field>
    <field name="F2" class="java.lang.String"></field>
    <field name="F3" class="java.lang.String"></field>
    <field name="F4" class="java.lang.String"></field>

<pageHeader>
    <band height="117">
        <line>
            <reportElement x="0" y="40" width="553" height="1" />
        </line>
        <staticText>
            <reportElement x="0" y="20" width="553" height="25" />
            <textElement textAlignment="Center">
                <font fontName="Arial_Bold" size="16"/>
            </textElement>
            <text><![CDATA[Sample report]]></text>
        </staticText>
        <textField>
            <reportElement x="0" y="15" width="553" height="20" />
            <textElement textAlignment="Right">
                <font fontName="Arial" size="8"/>
            </textElement>
            <textFieldExpression ><![CDATA["Date: "+new SimpleDateFormat("dd/MM/yyyy").format(new Date())]]></textFieldExpression>
        </textField>
    </band>
</pageFooter>

或者,您可以使用map

>>> Tuple = {(1,3),(3,5),(5,6)}
>>> [list(item) for item in Tuple]
[[5, 6], [1, 3], [3, 5]]

答案 1 :(得分:1)

你可以简单地使用map函数,当你想在迭代上应用内置函数时,它会表现得更好:

>>> Tuple = {(1,3),(3,5),(5,6)}
>>> list(map(list,Tuple))
[[5, 6], [1, 3], [3, 5]]

答案 2 :(得分:1)

你可以试试这个:

>>> Tuple = {(1,3),(3,5),(5,6)}
>>> [list(item) for item in Tuple]
[[5, 6], [1, 3], [3, 5]]

或者您可以使用iterloops imap来获得更好的效果

>>>import itertools
>>> Tuple = {(1,3),(3,5),(5,6)}
>>> list(itertools.imap(list, Tuple))
[[5, 6], [1, 3], [3, 5]]