Python 将列表列表转换为整数列表

Python 将列表列表转换为整数列表,python,list,Python,List,我需要将列表列表转换为整数列表 发件人: L1 = [[1, 2, 3, 4], [3, 7, 1, 7], [0, 5, 6, 7], [9, 4, 5, 6]] 致: 如何让python识别以0开头的整数?像这样L2[2] 另一个问题是,如何检查列表中的项目是否已排序 A = [1, 2, 6, 9] ---->True 除此之外: A == sorted(A) 你们真快。谢谢 第一个问题可以由 L = [int("".join([str(y) for y in x])) for

我需要将列表列表转换为整数列表

发件人:

L1 = [[1, 2, 3, 4], [3, 7, 1, 7], [0, 5, 6, 7], [9, 4, 5, 6]]
致:

如何让python识别以0开头的整数?像这样
L2[2]

另一个问题是,如何检查列表中的项目是否已排序

A = [1, 2, 6, 9] ---->True
除此之外:

A == sorted(A)

你们真快。谢谢

第一个问题可以由

L = [int("".join([str(y) for y in x])) for x in L]
不幸的是,整数不是以0开头的。没有办法做到这一点

L2 = [reduce(lambda x,y : 10 * x + y, l) for l in L1]
检查
A==sorted(A)
是一个非常好的方法

L2 = [reduce(lambda x,y : 10 * x + y, l) for l in L1]

如果您想要一个不通过字符串的解决方案。

对于问题1,可能是Python 3转换,但是普通的.join在Python 2中给我一个TypeError。尝试:

["".join(str(d) for d in x) for x in L]
…用于字符串表示,或

[int("".join(str(d) for d in x)) for x in L]
(字符串表示法是保留前导零的唯一方法,格式化输出除外……然后就是在输出文件/字符串的过程中进行字符串转换。)

对于问题2:
all(A[i-1]

>A=[1,2,6,9]
>>>全部(A[i-1]
您可以执行以下操作:

L2 = [ int("1" + "".join(str(l) for l in ll1)) for ll1 in L1 ]
要保留零并获得:

[11234, 13717, 10567, 19456]

但是你需要去掉最左边的
1
s。

列表L包含整数而不是字符串。我试过你的密码。您的代码可以用于字符串,但它仍然没有忽略逗号。>>>L1=[[1,2,3,4],[3,7,1,7],[0,5,6,7],[9,4,5,6]>>[int(“.join([str(y)表示x中的y])表示L1中的x][12343717567679456]不需要内括号:
”。join(str y)表示x中的y)
。另外,在这种情况下,
map
似乎更适合:
“”.join(map(str,x))
。使用内括号是有原因的:它运行速度快一倍,因为它不需要使用慢速生成器。我同意
map
更适合,但它显然不应该再被使用了:/你最好在加入中使用一个列表,因为它会更快(在我的机器上是2倍)。谢谢你的提示。我从来没有计时过。这是否适用于较长的序列,或者您认为这只是4元素列表上的生成器构造开销?它可能不适用于Python3。我发现如果你把它作为一个列表,它会更快。len测试(输入)
[11234, 13717, 10567, 19456]