Python列出输入 - 整数和字符串

时间:2012-09-23 07:17:30

标签: python python-3.x

在python中是否有任何方法可以更改列表中的元素。

例如,整数必须保持整数,字符串必须保持字符串,但这应该在同一个程序中完成。

示例代码为:

print("Enter the size of the list:")
N = int(input())
for x in range(N):
    x = input("")    
    the_list.append(x)
    the_list.sort()

print(the_list)

结果:the_list = ['1','2','3']

是整数列表,其中整数已转换为错误的字符串。

但是列表的字符串必须保持字符串。

1 个答案:

答案 0 :(得分:3)

for x in range(N):
    x = input("")
    try:  
        the_list.append(int(x))
    except ValueError:
        the_list.append(x)

让我们运行:

1
hello
4.5
3
boo
>>> the_list
[1, 'hello', '4.5', 3, 'boo']

请注意,如果列表包含混合类型,则无法以有意义的方式对其进行排序(Python 2)或根本不对(Python 3)进行排序:

>>> sorted([1, "2", 3])                     # Python 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() < int()

>>> sorted([1, "2", 3])                     # Python 2
[1, 3, '2']