1

在 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']

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

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

4

1 回答 1

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']
于 2012-09-23T07:36:41.493 回答