python列表有固定大小吗,使用python自己写了一个固定长度的list

注明:有时候需要一个固定长度的list,然后我找的时候虽然网上有一些内容,但都不是我想要的,于是我就自己简单的写了一个。以作自己不时之需,同时分享出来,大家一起讨论,不喜勿喷,谢谢!

1、直接上代码(固定 长度为10的list,长度可以自己更改)

b = range(10,30,1) #生成一个10~30的list

a = [] #定义一个空列表

for i in b:

if len(a) == 10: #这里的10为你想要固定长度list的长度

a.pop(0) #删除list a 中的第一个元素

a.append(i) #添加list a 中的最后一个元素

else:

a.append(i)

print(a) #打印结果

2、直接上运行结果

[10]

[10, 11]

[10, 11, 12]

[10, 11, 12, 13]

[10, 11, 12, 13, 14]

[10, 11, 12, 13, 14, 15]

[10, 11, 12, 13, 14, 15, 16]

[10, 11, 12, 13, 14, 15, 16, 17]

[10, 11, 12, 13, 14, 15, 16, 17, 18]

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

[12, 13, 14, 15, 16, 17, 18, 19, 20, 21]

[13, 14, 15, 16, 17, 18, 19, 20, 21, 22]

[14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

[15, 16, 17, 18, 19, 20, 21, 22, 23, 24]

[16, 17, 18, 19, 20, 21, 22, 23, 24, 25]

[17, 18, 19, 20, 21, 22, 23, 24, 25, 26]

[18, 19, 20, 21, 22, 23, 24, 25, 26, 27]

[19, 20, 21, 22, 23, 24, 25, 26, 27, 28]

[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用PyQt5中的QLineEdit和QTableView来实现宽度固定列表可输入数据改变长度的窗口。 首先,你需要创建一个QLineEdit和一个QTableView,并将它们添加到主窗口中。然后,你需要创建一个QStandardItemModel,并将其设置为QTableView的模型。接下来,你需要使用QStandardItemModel的方法来设置表格中的行数和列数,并将每个单元格的值设置为一个空字符串。 最后,你需要连接QLineEdit的textChanged信号到一个槽函数中,该槽函数将根据QLineEdit中的文本内容来动态改变QTableView的列数。在槽函数中,你需要使用QStandardItemModel的方法来更新表格的列数,并将每个新添加的单元格的值设置为一个空字符串。 下面是一个示例代码,可以帮助你了解如何使用PyQt5来实现宽度固定列表可输入数据改变长度的窗口。请注意,这只是一个基础的示例,你可能需要根据你的具体需求进行修改。 ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableView, QAbstractItemView, QStandardItemModel, QHeaderView from PyQt5.QtGui import QStandardItem class MainWindow(QMainWindow): def __init__(self): super().__init__() # 创建主窗口 self.setGeometry(100, 100, 500, 500) self.setWindowTitle("List Window") # 创建主窗口中的部件 self.central_widget = QWidget() self.setCentralWidget(self.central_widget) self.line_edit = QLineEdit() self.table_view = QTableView() # 创建布局管理器 self.layout = QVBoxLayout() self.central_widget.setLayout(self.layout) # 添加部件到布局管理器中 self.layout.addWidget(self.line_edit) self.layout.addWidget(self.table_view) # 创建表格模型 self.model = QStandardItemModel() self.table_view.setModel(self.model) # 设置表格属性 self.table_view.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.SelectedClicked) self.table_view.setSelectionBehavior(QAbstractItemView.SelectRows) self.table_view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # 连接信号和槽 self.line_edit.textChanged.connect(self.update_table) # 初始化表格 self.update_table('') def update_table(self, text): # 获取列数 column_count = len(text) # 设置表格列数 self.model.setColumnCount(column_count) # 设置表格行数为1 self.model.setRowCount(1) # 添加新的单元格 for i in range(column_count): item = QStandardItem('') self.model.setItem(0, i, item) if __name__ == '__main__': app = QApplication([]) window = MainWindow() window.show() app.exec_() ``` 在这个示例代码中,我们创建了一个QLineEdit和一个QTableView,并将它们添加到一个垂直布局中。我们还创建了一个QStandardItemModel,并将其设置为QTableView的模型。然后,我们将QLineEdit的textChanged信号连接到update_table函数中,该函数将根据QLineEdit中的文本内容来动态改变QTableView的列数。在update_table函数中,我们使用QStandardItemModel的方法来更新表格的列数,并将每个新添加的单元格的值设置为一个空字符串。最后,我们在主函数中创建了一个QApplication对象和一个MainWindow对象,并将MainWindow对象显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值