如何将列表中的字符串转为整数和浮点数
时间: 2023-05-24 09:04:59 浏览: 88
可以使用Python内置的map()函数,将列表中的每个字符串元素分别转换为整数或浮点数。通过传入int或float作为第一个参数,map()函数会将列表中的每个元素按照指定的类型进行转换。
举个例子:
```python
string_list = ['1', '2.5', '3', '4.2', '5']
integer_list = list(map(int, string_list))
float_list = list(map(float, string_list))
print(integer_list) # [1, 2, 3, 4, 5]
print(float_list) # [1.0, 2.5, 3.0, 4.2, 5.0]
```
在上述例子中,string_list是一个包含字符串元素的列表。我们使用map()函数和int或float作为参数,将列表中的每个元素分别转换为整数或浮点数。最终,输出integer_list和float_list,分别表示转换后的整数列表和浮点数列表。
相关问题
将数据中的数值字符串转为整数或浮点数: 若当前数值字符串中的数据是非负整数时,转为int类型;若当前数值字符串中的数据不是非负整数时转为float类型
可以Python中的isdigit()函数来判断字符串是否是非负整数,如果是则使用int()函数转换为整数,否则使用float()函数转换为浮点数。示例代码如下:
```python
def str_to_num(str_num):
if str_num.isdigit():
return int(str_num)
else:
return float(str_num)
# 示例
str1 = '123'
str2 = '3.14'
num1 = str_to_num(str1)
num2 = str_to_num(str2)
print(type(num1), num1) # <class 'int'> 123
print(type(num2), num2) # <class 'float'> 3.14
```
输入一个列表,将其中整数和值为整数的字符串转为整型数据,将其中浮点数字符串转为浮点数,其他所有字符串保持原样。
可以使用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]
```