【问题标题】:(Python 3.8) How can I turn a variable into a list without a seperator? [duplicate](Python 3.8)如何将变量转换为没有分隔符的列表? [复制]
【发布时间】:2021-10-30 22:34:01
【问题描述】:

我想让用户输入一个数字,然后这个数字会变成一个名为数字的列表。我需要能够在没有任何分隔符(如空格或逗号)的情况下做到这一点......

number=int(input())
digits=[]

#

print (digits)

示例:
用户输入:808
代码输出:[8,0,8]

【问题讨论】:

  • 您可以对字符串使用 call list() 将其转换为字符列表。例如list('808')
  • 如果您将输入保留为字符串而不是立即将其转换为整数,这会更容易。你为什么要这么做?

标签: python list


【解决方案1】:

input() 的返回是一个已经可以逐字符迭代的字符串!

假设输入的所有成员都是真正的数字,您可以对其进行迭代,将每个成员转换为 int(),就像您进入 List Comprehension 一样

digits = [int(x) for x in input()]

这是一个循环的简写

digits = []
source_string = input("enter digits: ")
for value in list(source_string):
    digits.append(int(value))

可能需要一些错误处理 (ValueError, TypeError) 来很好地处理用户可能提供的非 int 输入

【讨论】:

  • for value in list(source_string): 你为什么在source_string 上使用list
  • 啊,我希望这样可以更清楚地了解将要迭代的内容,以及简单地在字符串上使用 list() 生成字符列表;没有实际理由比理解做更多的工作
  • 不,它绝对没有说清楚,它混淆,因为你不理解它,因为它绝对没有任何用处。
  • @juanpa.arrivillaga 你是一个专家,而我正在说明两件不同的事情,试图在一个狭小的空间内引发这个问题;为什么这里需要它而不是其他位置(当然不是!)
【解决方案2】:

试试这个:

list(map(int, input()))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2021-09-28
    • 2016-01-01
    • 2017-10-22
    • 2021-12-27
    • 2015-11-14
    相关资源
    最近更新 更多