输入一个列表,将其中整数和值为整数的字符串转为整型数据,将其中浮点数字符串转为浮点数,其他所有字符串保持原样。
时间: 2023-04-28 22:04:46 浏览: 329
可以使用Python的isnumeric()函数来判断一个字符串是否为整数,isnumeric()函数返回True表示字符串为整数,返回False表示字符串不是整数。可以使用Python的isdigit()函数来判断一个字符串是否为数字,isdigit()函数返回True表示字符串为数字,返回False表示字符串不是数字。
以下是一个示例代码,可以实现将列表中的整数和值为整数的字符串转为整型数据,将其中浮点数字符串转为浮点数,其他所有字符串保持原样:
```
def convert_list(lst):
new_lst = []
for item in lst:
if isinstance(item, int):
new_lst.append(item)
elif isinstance(item, str) and item.isnumeric():
new_lst.append(int(item))
elif isinstance(item, str) and '.' in item:
try:
new_lst.append(float(item))
except ValueError:
new_lst.append(item)
else:
new_lst.append(item)
return new_lst
```
使用示例:
```
lst = [1, '2', '3.14', 'hello', '4.', '5.5', '6']
new_lst = convert_list(lst)
print(new_lst)
```
输出结果:
```
[1, 2, 3.14, 'hello', 4., 5.5, 6]
```
阅读全文