列表列表的元素

发布于 2025-01-31 23:41:07 字数 336 浏览 1 评论 0原文

我有数字的列表(元组元组?)

[[1,2,3],[4,5,6],[7,8,9]]

我想转换在:

(123,456,789)

我对此代码做的,您能否向我建议一种更好的方法?

listacomb = []
for list in permdue:
    for number in list:
        numerix += "".join(str(number))
    listacomb.append(numerix)
    numerix=""
return listacomb

I have a list of list(tuple of tuple?) of number

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

I want to transform in:

(123,456,789)

I did with this code, can you suggest to me a better way to do it?

listacomb = []
for list in permdue:
    for number in list:
        numerix += "".join(str(number))
    listacomb.append(numerix)
    numerix=""
return listacomb

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

帅气尐潴 2025-02-07 23:41:07

您可以做一个列表理解:

data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
output = tuple([int("".join(map(str, inner_list))) for inner_list in data])
print(output)

输出:

(123, 456, 789)

参考:

You can do a list comprehension:

data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
output = tuple([int("".join(map(str, inner_list))) for inner_list in data])
print(output)

Output:

(123, 456, 789)

References:

小鸟爱天空丶 2025-02-07 23:41:07

这是做到这一点的数学方法。我们可以向后迭代每个子派,并构建所需的数字。

permdue = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
listacomb = []

for list in permdue:
    list = reversed(list)
    m = 1
    numerix = 0
    for number in list:
        numerix += number * m
        m = m * 10
    listacomb.append(numerix)

print(listacomb)  # [123, 456, 789]

此方法避免了性能惩罚弦解决方案。例如,通过服用[1,2,3]和Computing 3 + 20 + 100来获得123来起作用。

Here is a math approach to doing this. We can iterate each sublist backwards and build out the desired number.

permdue = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
listacomb = []

for list in permdue:
    list = reversed(list)
    m = 1
    numerix = 0
    for number in list:
        numerix += number * m
        m = m * 10
    listacomb.append(numerix)

print(listacomb)  # [123, 456, 789]

This approach avoids the performance penalizing string solution. It works, for example, by taking [1, 2, 3] and computing 3 + 20 + 100, to obtain 123.

明媚殇 2025-02-07 23:41:07

可以在没有这样的反转的情况下完成:

permdue = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
listacomb = []

for p in permdue:
    n = 0
    for p_ in p:
        n = n * 10 + p_
    listacomb.append(n)
print(listacomb)

输出:

[123, 456, 789]

It can be done without reversal like this:

permdue = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
listacomb = []

for p in permdue:
    n = 0
    for p_ in p:
        n = n * 10 + p_
    listacomb.append(n)
print(listacomb)

Output:

[123, 456, 789]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文