lst = eval(input()) n,m = map(int,input().split(",")) lst1 = lst[n] lst.remove(n) lst = lst + lst1*m 错哪里了
时间: 2024-03-15 18:46:04 浏览: 60
详解python eval函数的妙用
这段代码有两个问题:
1. `eval()` 函数不安全,可能会导致代码注入攻击,推荐使用更安全的方式来读取列表,比如使用 `json.loads()` 函数。
2. `lst.remove(n)` 应该改为 `lst.remove(lst[n])`,因为 `n` 是一个整数,而 `lst.remove()` 函数需要传入一个元素值。
下面是修改后的代码:
```python
import json
lst = json.loads(input())
n, m = map(int, input().split(","))
lst1 = lst[n]
lst.remove(lst[n])
lst += [lst1] * m
print(lst)
```
这里我们使用了 `json.loads()` 函数来读取列表,更加安全可靠。另外,我们也修改了 `lst.remove()` 函数的参数,使其正确地删除了列表中指定位置的元素。
阅读全文