gpt4 book ai didi

Python:分配变量并忽略 'IndexError'

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:28 26 4
gpt4 key购买 nike

我有 Python 代码在列表中搜索字符串并将相应的参数存储到变量。

“X”下方的列表由单引号中的逗号分隔,这是我的实际逻辑 map1 = str(val).split('MAP:')[1].split(',')[0]。 strip() 搜索 MAP: 并将相应的参数 A 存储到 map1 变量中。

X = [
'sequence:1, MAP:A, num1:1, num2:2, num3:3',
'sequence:2, num1:10, num2:20, MAP:B, num3:30',
]

Y = []
for val in X:
map1 = str(val).split('MAP:')[1].split(',')[0].strip()
num1 = str(val).split('num1:')[1].split(',')[0].strip()
Y.append(['VEQ','1',map1,'2',num1])
print(Y)

输出

[['VEQ', '1', 'A', '2', '1'], ['VEQ', '1', 'B', '2', '10']]

问题是

如果我尝试使用 map1 = str(val).split('SomethingElse')[1].split(',')[0].strip()

错误:

Traceback (most recent call last):
File "c:\Users\Maria\Documents\temp.py", line 5, in <module>
map1 = str(val).split('SomethingElse:')[1].split(',')[0].strip()
IndexError: list index out of range

因为“SomethingElse”在该列表中不匹配或不可用..

我已经尝试了 Try & Except 方法,但它使我的代码变得最糟糕,有没有办法修改上述逻辑以存储变量(如果可用)或者用空白存储变量?

预期输出:

如果我尝试使用 map1 = modified search string logic

print(map1) must be blank instead of giving index error.

最佳答案

使用此代码。 if 检查字符串中是否存在 somethingElse 或将字符串初始化为空

map2 = str(val).split('SomethingElse')[1].split(',')[0].strip()if \
"SomethingElse" in str(val) else \
("")
map2

关于Python:分配变量并忽略 'IndexError',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58947348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com