我刚刚开始学习python几天前有一个简单的问题,我找不到答案:
在保留数据类型的同时,您会如何要求将项目添加到列表中?
如果我这样做:
def itemType(anyList):
for i in range(len(anyList)):
print(type(anyList[i]))
exampleList = []
while True:
newItem = input('Add item to list? "NO" to end input.)
if newItem == 'NO':
break
else:
exampleList.append(input())
itemType(exampleList)
显然,所有列表项都是字符串值。有没有办法要求输入但保留字符串,整数,浮点数或任何数据类型?
答案 0 :(得分:0)
您可以尝试转换为每种变量类型:
try:
newItem = int(newItem)
except ValueError:
newItem = float(newItem)
except ValueError:
pass #keep as string
答案 1 :(得分:0)
您可以尝试使用函数isnumeric
中的python构建。
这是它的样子:
def itemType(anyList):
for i in range(len(anyList)):
print(type(anyList[i]))
exampleList = []
while True:
newItem = input('Add item to list? "NO" to end input.')
if newItem == 'NO':
break
else:
if(newItem.isnumeric()):
exampleList.append(int(newItem))
else:
exampleList.append(newItem)
itemType(exampleList)
仅检查integer
和string/float
。