python有一个列表a_list=[['n',['abc',30,{'k1':['bb',5,'1']},67],'mn']].把列表中的 小写的'bb'变成大写的'BB’。把列表中字符串‘1'变成数字100。
时间: 2023-12-21 09:28:06 浏览: 85
Python中列表元素转为数字的方法分析
可以使用递归的方式遍历列表中的每一个元素,如果是字典类型则继续递归,如果是列表类型则遍历其中的每一个元素,如果是字符串类型则判断是否为'bb'或'1',如果是则进行相应的修改。
代码如下:
```
def modify_list(lst):
for i in range(len(lst)):
if type(lst[i]) == dict:
modify_dict(lst[i])
elif type(lst[i]) == list:
modify_list(lst[i])
elif type(lst[i]) == str:
if lst[i] == 'bb':
lst[i] = 'BB'
elif lst[i] == '1':
lst[i] = 100
def modify_dict(dct):
for key in dct:
if type(dct[key]) == dict:
modify_dict(dct[key])
elif type(dct[key]) == list:
modify_list(dct[key])
elif type(dct[key]) == str:
if dct[key] == 'bb':
dct[key] = 'BB'
elif dct[key] == '1':
dct[key] = 100
a_list=[['n',['abc',30,{'k1':['bb',5,'1']},67],'mn']]
modify_list(a_list)
print(a_list)
```
输出结果为:
```
[['n', ['abc', 30, {'k1': ['BB', 5, 100]}, 67], 'mn']]
```
阅读全文