我尝试从Python 2.7更改为3.3.1
我想输入
1 2 3 4
并输出
[1,2,3,4]
在2.7我可以使用
score = map(int,raw_input().split())
我应该在Python 3.x中使用什么?
答案 0 :(得分:24)
在Python 3中使用input()
。{3}中已将raw_input
重命名为input
。而map
现在返回迭代器而不是列表。
score = [int(x) for x in input().split()]
或:
score = list(map(int, input().split()))
答案 1 :(得分:1)
作为一般规则,您可以使用Python附带的2to3
tool至少指向正确的移植方向:
$ echo "score = map(int, raw_input().split())" | 2to3 - 2>/dev/null
--- <stdin> (original)
+++ <stdin> (refactored)
@@ -1,1 +1,1 @@
-score = map(int, raw_input().split())
+score = list(map(int, input().split()))
输出不一定是惯用的(列表理解在这里会更有意义),但它会提供一个不错的起点。