lb_ys=[] i = u.i + 1 lb_ys.insert(u.i,o.id) u.set('i',+u.i) u.set('lb_ys',lb_ys) message(u,'<font color=#98D2F6>{}</font>你关注了他'.format(u.name)) u.save(is_need_save=True)为什么以上代码添加到列表是 ['[', '3', '8', '8', '5', ']']分开的 实际也是3885整数
时间: 2023-06-26 07:06:02 浏览: 139
根据你提供的代码,`lb_ys` 是一个空列表,`o.id` 是一个整数,`u.i` 也是一个整数。在执行 `lb_ys.insert(u.i, o.id)` 的时候,会将 `o.id` 插入到 `lb_ys` 列表的第 `u.i` 个位置上。而在执行 `u.set('lb_ys', lb_ys)` 时,`lb_ys` 会被转换成一个字符串,由于列表中只有一个整数,所以字符串是 `'[3885]'`,其中方括号是用来表示这是一个列表的符号。
如果你想要得到一个包含整数的列表,可以使用以下代码:
```
lb_ys = []
i = u.i + 1
lb_ys.insert(u.i, o.id)
u.set('i', u.i + 1)
u.set('lb_ys', lb_ys)
message(u, '<font color=#98D2F6>{}</font>你关注了他'.format(u.name))
u.save(is_need_save=True)
```
在这个代码中,我将 `u.set('i',+u.i)` 修改为 `u.set('i', u.i + 1)`,这样可以确保每次插入一个元素后,`u.i` 的值都会加一。这样就可以保证在下一次插入元素时,它会被插入到正确的位置上。同时,我也将 `u.set('lb_ys', lb_ys)` 修改为 `u.set('lb_ys', lb_ys)`,这样就可以确保保存的是一个列表,而不是一个字符串。
相关问题
u.lb_ys=[] u.i = u.i + 1 u.lb_ys.insert(u.i,o.id) u.set('i',+u.i) u.set('lb_ys',u.lb_ys) message(u,'<font color=#98D2F6>{}</font>你关注了他'.format(u.name)) u.save(is_need_save=True)
这是一段 Python 代码,大概意思是:
- 定义了一个空列表 `u.lb_ys` 和一个计数器 `u.i`,初始值为 0。
- 对于某个变量 `o.id`,将其插入到列表 `u.lb_ys` 的末尾,并将计数器 `u.i` 加 1。
- 使用 `u.set()` 方法更新变量 `u.i` 和 `u.lb_ys`。
- 发送一条消息告知用户,他已经关注了某个对象。
- 最后保存更改。
由于缺乏上下文,我无法确定这段代码的完整性和正确性。
lb_ys=[] i = u.i + 1 lb_ys.insert(u.i,o.id) u.set('i',+u.i) u.set('lb_ys',lb_ys) message(u,'<font color=#98D2F6>{}</font>你关注了他'.format(u.name)) u.save(is_need_save=True)为什么以上代码添加到列表是 ['[', '3', '8', '8', '5', ']']分开的
根据你提供的代码,我看到 `lb_ys` 是一个列表,其中 `o.id` 是要添加到该列表中的元素。根据你的描述,这个列表实际上是由字符串形式的列表索引值组成的,而不是由整数组成的。这意味着每个元素都被视为一个字符串,而不是一个数字。
当你使用 `lb_ys.insert(u.i,o.id)` 将一个元素插入到列表中时,它将被插入到 `u.i` 的位置。根据你提供的信息,`u.i` 的值是 3,因此 `o.id` 将被插入到列表的第 3 个位置。由于 `o.id` 是一个整数,所以它被自动转换为字符串形式,因此插入的元素实际上是字符串 `'3885'`,而不是整数 `3885`。
当你打印列表时,它以字符串的形式显示,因为它的元素是字符串,而不是整数。因此,它显示为 `['[', '3', '8', '8', '5', ']']`,其中每个元素都被视为一个单独的字符。如果你想要将它显示为一个整数列表,你可以使用以下代码:
```python
lb_ys = [int(x) for x in lb_ys]
print(lb_ys)
```
这将把列表中的每个元素转换为整数,并打印出整数列表 `[3885]`。
阅读全文