Python列出输入整数和字符串

Python列出输入整数和字符串,python,python-3.x,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) 结果:u列表=['1','2','3'] 整数已转换为

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)
结果:
u列表=['1','2','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']
排序([1,“2”,3])#Python 3 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 TypeError:无序类型:str()>>已排序([1,“2”,3])#Python 2 [1, 3, '2']
“正在生成”?-什么在生成列表?没有任何东西会自动将整数转换为字符串。恐怕我不明白你的问题。你能发布一些示例代码并指出它为什么没有达到你想要的效果吗?@vamosrafa。。除非以字符串形式显式给出整数,否则它不可能自动转换。您的编辑并没有让它更清晰。请显示生成
mylist\u int
@vamosrafa。。你需要更清楚地澄清。。添加您已经编写的更多代码。。或者问题状态会有帮助的。好了。。见下面蒂姆的答案。。你会得到你想要的。。