fq = lambda i: i if i.isnumeric() else f'{i}',fq获取不到i的值只能获取地址怎么修改
时间: 2024-02-24 21:54:42 浏览: 90
修改目标地址值代表的值
`fq` 函数中的 `i` 参数是一个字符串类型的变量,在 Python 中,字符串类型是不可变类型的,因此无法直接修改字符串的值。
如果要修改 `fq` 函数中的逻辑,可以考虑将 `i` 转换成列表类型,然后对列表进行操作,最后将列表转换回字符串类型。下面是修改后的代码示例:
```python
fq = lambda i: ''.join([str(i)] if not i.isnumeric() else [i])
# 测试
print(fq('123')) # 输出:123
print(fq('abc')) # 输出:'abc'
```
在上面的代码中,`fq` 函数首先使用 `if not i.isnumeric()` 判断 `i` 是否为数字,如果不是数字,则将字符串 `i` 转换为只包含一个元素的列表 `[str(i)]`,该元素为字符串类型的 `i` 值。
如果 `i` 是数字,则将数字作为一个元素添加到列表中,该元素为数字类型的 `i` 值。最后,使用 `join` 方法将列表转换成字符串类型的返回值。
这样就可以实现根据输入参数的类型返回相应的值了。
阅读全文