首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从一个未排序的字符串中获取数字,并将它们转换为一个列表,其中每个数字都用逗号分隔。

从一个未排序的字符串中获取数字,并将它们转换为一个列表,其中每个数字都用逗号分隔。
EN

Stack Overflow用户
提问于 2016-10-27 02:58:52
回答 2查看 38关注 0票数 0

我有一个建议:

代码语言:javascript
运行
复制
L1 = input()

我想要的输出是:

代码语言:javascript
运行
复制
[1, 7, -3, 10, 42, 5, 0, 17]

输入是"1 7-3 10 42 5 0 17“,这意味着当我打印L1时,它会产生:

代码语言:javascript
运行
复制
1 7 -3 10 42 5 0 17

使用inp( int() )给出了“带基数10:的int()无效文本”。使用.split不会更改输出。

如果我将用户输入作为列表,那么它将产生:

代码语言:javascript
运行
复制
[1 7 -3 10 42 5 0 17]

数字字符串不能单独输入,必须作为一个整体输入,然后用逗号“拆分”。然而;

代码语言:javascript
运行
复制
L1 = input()
L1.split() or L1.split(",")
print(L1)

只要屈服..。

代码语言:javascript
运行
复制
1 7 -3 10 42 5 0 17
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-27 03:07:44

为了正确更新L1,您必须为它赋值L1.split()返回的值。

代码语言:javascript
运行
复制
L1 = "1 7 -3 10"
L1 = L1.split()
print(L1)

输出: ['1', '7', '-3', '10']

或者如果您想要一个整数列表:

代码语言:javascript
运行
复制
L1 = "1 7 -3 10"
L1 = [int(i) for i in L1.split()]
print(L1)

输出: [1, 7, -3, 10]

票数 0
EN

Stack Overflow用户

发布于 2016-10-27 03:09:06

如果要按空格或逗号分隔,则应使用regexp拆分。另外,拆分的项是str类型,您可能希望将它们转换为int类型。

下面是代码:

代码语言:javascript
运行
复制
import re
L1 = input()
L1 = [int(i) for i in re.split('[\s,]+', L1) if i]
print(L1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40275378

复制
相关文章

相似问题

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