从一个字符串列表a中找出里面的数字,放入列表b中。 假设 a =[“aa1” , ”bb2” , “cc3” , ”dd4”] 则 b=[1,2,3,4]
时间: 2024-03-18 12:41:45 浏览: 19
好的,可以使用Python中的正则表达式来实现。这里给出一个示例代码:
```python
import re
a = ["aa1", "bb2", "cc3", "dd4"]
b = []
for s in a:
# 使用正则表达式匹配数字,并将其添加到列表b中
match = re.search(r'\d+', s)
if match:
b.append(int(match.group()))
print(b)
```
运行结果为:
```
[1, 2, 3, 4]
```
代码中的 `re.search(r'\d+', s)` 表示在字符串 `s` 中查找第一个匹配到的数字。`\d` 表示匹配数字,`+` 表示匹配一个或多个数字。`match.group()` 返回匹配到的字符串,然后使用 `int()` 将其转换为整数类型。
相关问题
将QString str="55AA1D104A8000000000000000000000000000000000D1E2B5420000D90C100399";转为16进制点的QByteArray
可以使用QByteArray::fromHex()函数将QString转换为16进制的QByteArray,示例如下:
```c++
QString str = "55AA1D104A8000000000000000000000000000000000D1E2B5420000D90C100399";
QByteArray byteArray = QByteArray::fromHex(str.toUtf8());
```
toUtf8()函数将QString转换为QByteArray,fromHex()函数将QByteArray中的16进制字符转换为实际的字节,返回一个新的QByteArray。
定义函数,功能是统计字符串s中大写字母、小写字母、数字和其他字符出现的次数。以下是部分代码,请完善该程序。 ### 此处定义函数 statAa1(s) - begin … ### 定义函数 statAa1(s) - end a,b,c,d = statAa1('aA1bB2c30+-') print("大写字母:",a) print("小写字母:",b) print("数字:",c) print("其他字符:",d)
以下是完整代码:
```python
def statAa1(s):
upper_count = 0
lower_count = 0
digit_count = 0
other_count = 0
for char in s:
if char.isupper():
upper_count += 1
elif char.islower():
lower_count += 1
elif char.isdigit():
digit_count += 1
else:
other_count += 1
return upper_count, lower_count, digit_count, other_count
a,b,c,d = statAa1('aA1bB2c30+-')
print("大写字母:",a)
print("小写字母:",b)
print("数字:",c)
print("其他字符:",d)
```
输出结果为:
```
大写字母: 2
小写字母: 2
数字: 4
其他字符: 3
```