所以我在学校制作了这个小代码,我知道input()可以理解列表。我在家里再试一次,但它不起作用。我的学校电脑有python 2.而我的笔记本电脑有3.4。
代码看起来像这样
a = input()
list = []
count = 0
for y in range(1, len(a)):
min = a[count]
for x in range(count +1, len(a)):
if min > a[x]:
min = a[x]
print(min)
a[count] = min #str object does not support item assignment
count=count+1
print (a)
我想输入一个像[1,2,3,4,5]这样的列表,但是当我想将它看作一个列表时,它会将整个事物作为字符串和逗号一起读取整数。
答案 0 :(得分:3)
Python 3' s input
返回一个字符串(与Python 2' s raw_input
相同),而Python 2' input
评估文本。要获得类似的行为,如果您有一个可以评估的有效Python列表,那么您可以使用ast.literal_eval
,例如:
import ast
a = ast.literal_eval(input())
# do other stuff with `a` here...
因此,您输入[1, 2, 3, 4, 5]
之类的内容作为输入,并且您最终将a
作为Python列表。
答案 1 :(得分:0)
我假设您的输入类似于:"1 2 3 4 5"
- 根据稍后出现的代码判断。这个oufcourse是一个字符串。如果你想使用字符串中的numbrs作为整数,你需要:
a = input()
a = map(int, a.split())