如何将列表中的数字和字母字符串转换为整数?

时间:2019-05-01 17:27:00

标签: python

我正在尝试转换此列表

a = ['45 inches', '45 inches', '44 inches', '42 inches', '41 inches', '41 inches']

进入

a = ['45', '45', '44', '42', '41', '41']

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

使用正则表达式:

import re
a = ['45 inches','45 inches','44 inches','42inches','41inches','41inches']
res = []
for i in a:
    m = re.search(r"\b(\d{2})\b", i)
    if m:
        res.append(m.group())
print(res)

答案 1 :(得分:0)

取决于您的convert依条件。如果您只想拆分后得到物品,请尝试:

a1 = [k.split()[0] for k in a]

如果要查找所有数字字符,请尝试:

a2 = [''.join([m for m in k if m.isnumeric()]) for k in a]

答案 2 :(得分:0)

一种可能性是使用正则表达式在字符串中搜索数字组。

import re
a = ['45 inches', '45 inches', '44 inches', '42 inches', '41 inches', '41 inches']

out = []
for string in a: 
    nums = re.search(r"(\d+)", string)
    if nums: 
        out.append(nums.group(1))

print(out)
# ['45', '45', '44', '42', '41', '41']