问题描述
我使用sqlite3从数据库导入了一个表,然后将其转换为列表,即使type()函数也返回该类是一个列表,但是当我尝试更改一个列表时,它仍然给我该错误消息细胞的数量
这是我的代码:
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT * FROM table1")
table = list(c.fetchall())
print(type(table))
table[0][0] = '10'
输出:
<class 'list'>
Traceback (most recent call last):
File "PATH",line 9,in <module>
table[0][0] = '10'
TypeError: 'tuple' object does not support item assignment
任何人都可以告诉我怎么了吗?
解决方法
您可以使用map
函数将元组列表转换为列表列表。
namespace Microsoft.eShopWeb.Infrastructure.Data
{
public class OrderRepository : EfRepository<Order>,IOrderRepository
{
public OrderRepository(CatalogContext dbContext) : base(dbContext)
{
}
public Task<Order> GetByIdWithItemsAsync(int id)
{
return _dbContext.Orders
.Include(o => o.OrderItems)
.Include($"{nameof(Order.OrderItems)}.{nameof(OrderItem.ItemOrdered)}")
.FirstOrDefaultAsync(x => x.Id == id);
}
}
}
然后,假设存在这样的元素,您将可以重新分配table = list(map(list,table))
。