在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']
是整数列表,其中整数已转换为错误的字符串。
但是列表的字符串必须保持字符串。
答案 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']