使用python将list2=[ '512MB', '512MB','512MB','512MB','2048MB ' ] 转换为list2=[ 512MB, 512MB,512MB,512MB,2048MB]
时间: 2024-01-04 14:17:08 浏览: 34
可以使用正则表达式来匹配字符串中的数字和单位,然后将其转换为对应的数据类型。具体步骤如下:
1. 导入re模块,用于正则表达式匹配。
2. 遍历list2中的每个元素,使用re.findall()函数匹配其中的数字和单位。
3. 将匹配到的数字转换为int类型,将单位转换为对应的字符串。
4. 将转换后的数字和字符串组成新的元素,添加到新的列表中。
代码如下:
```
import re
list2 = ['512MB', '512MB', '512MB', '512MB', '2048MB']
new_list2 = []
for item in list2:
num, unit = re.findall(r'(\d+)(\w+)', item)[0]
if unit == 'MB':
num = int(num)
elif unit == 'GB':
num = int(num) * 1024
new_list2.append(f'{num}{unit}')
print(new_list2)
```
输出结果为:
```
['512MB', '512MB', '512MB', '512MB', '2048MB']
```
相关问题
python 统计列表占用内存 MB表示
可以将获取到的字节数除以1024*1024,得到占用的MB数。以下是一个示例代码:
```python
import sys
my_list = [1, 2, 3, 4, 5]
size = sys.getsizeof(my_list) / (1024 * 1024)
print("Size of my_list: {:.2f} MB".format(size))
```
这段代码中,我们利用了除法运算将字节数转换为MB数,并使用了格式化字符串来显示结果。输出将显示my_list占用的MB数,保留两位小数。
用python语音定义一个函数,对输入的文件大小进行换算,统一返回“字节”数,最后结果四舍五入。 只考虑文件大小的单位为(M、MB、K、KB、G、GB)
好的,我可以为您提供一个函数来实现这个功能。以下是代码:
```python
def convert_file_size(size_str):
units = {'B': 0, 'K': 1, 'M': 2, 'G': 3}
size_list = size_str.split()
size, unit = float(size_list[0]), size_list[1].upper()
size_in_bytes = size * (1024 ** units[unit[0]])
return round(size_in_bytes)
```
这个函数接收一个字符串参数,表示文件大小,可以是以下格式之一:
- "1 B"
- "1 KB"
- "1 MB"
- "1 GB"
函数将根据单位将大小转换为字节,并四舍五入到整数。例如:
```python
>>> convert_file_size("1 GB")
1073741824
>>> convert_file_size("500 MB")
524288000
>>> convert_file_size("1.5 KB")
1536
```
希望这个函数能够满足您的需求。