我对python不太熟悉,但我需要将2d元组转换为嵌套列表,我在堆栈上搜索我无法找到答案,例如:
Tuple = {(1,3),(3,5),(5,6)}
我需要它成为一个清单:
List = [[1,3],[3,5],[5,6]]
为什么我需要转换一个元组,元组不允许我在元组的内容上使用.replace
我尝试使用互联网上所述的list()
,但它没有转换元组,谢谢。
答案 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]]