首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分裂整数if两位数

分裂整数if两位数
EN

Stack Overflow用户
提问于 2013-12-16 00:34:40
回答 5查看 617关注 0票数 0

我有一份国家统计局的清单:

代码语言:javascript
复制
l1 = [8, 2, 2, 6, 10, 14, 18, 2]

如何测试个位数?如果不是单数,则分裂成单数。

代码语言:javascript
复制
for i in l1:
    if len(i) > 1:
        something

因此,新的清单将是:

代码语言:javascript
复制
l1 = [8, 2, 2, 6, 1, 0, 1, 4, 1, 8, 2]
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-12-16 00:38:31

您可以使用一个字符串:

代码语言:javascript
复制
list(''.join(map(str, l1)))

它将数字转换为字符串,将它们连接起来,然后获取字符列表。

代码语言:javascript
复制
>>> l1 = [8, 2, 2, 6, 10, 14, 18, 2]
>>> list(''.join(map(str, l1)))
['8', '2', '2', '6', '1', '0', '1', '4', '1', '8', '2']
票数 2
EN

Stack Overflow用户

发布于 2013-12-16 00:39:12

也许是发电机:

代码语言:javascript
复制
def split_digits(numbers):
    for number in numbers:
        for digit in str(number):
            yield int(digit)

print list(split_digits([8, 2, 2, 6, 10, 14, 18, 2]))
票数 1
EN

Stack Overflow用户

发布于 2013-12-16 00:40:02

可以将每个元素转换为字符串,然后添加每个字符。

代码语言:javascript
复制
l1 = [8, 2, 2, 6, 10, 14, 18, 2]
l2 = []

for i in l1:
    s = str(i)

    for digit in s:
        l2.append(int(digit))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20601730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档