如何设置一个最多只能容纳十个元素的列表?
我使用以下语句获取列表的输入名称:
ar = map(int, raw_input().split())
并希望限制用户可以提供的输入数量
答案 0 :(得分:6)
获取ar
列表后,您可以通过 list slicing 将剩余项目丢弃为:
ar = ar[:10] # Will hold only first 10 nums
如果您还希望在列表中包含更多项目时引发错误,您可以将其长度检查为:
if len(ar) > 10:
raise Exception('Items exceeds the maximum allowed length of 10')
注意:如果要进行长度检查,则需要在切片列表之前进行检查。
答案 1 :(得分:1)
如果您希望继续向列表中添加项目,但仅返回最新的5个项目:
list1 = ["a1", "b1", "c1", "d1", "e1"]
list1.append("f1")
list1[-5:]
答案 2 :(得分:0)
我通过Google搜索找到了该帖子。
是的,以下内容只是对Moinuddin Quadri的回答(我赞成)进行了扩展,但这很符合我的要求!
Python程序
def lifo_insert(item, da_mem_list):
da_mem_list.insert(0, item)
return da_mem_list[:3]
# test
lifo_list = []
lifo_list = lifo_insert('a', lifo_list)
print('1 rec:', lifo_list)
lifo_list = lifo_insert('b', lifo_list)
lifo_list = lifo_insert('c', lifo_list)
print('3 rec:', lifo_list)
lifo_list = lifo_insert('d', lifo_list)
print('ovflo:', lifo_list)
输出
1 rec: ['a']
3 rec: ['c', 'b', 'a']
ovflo: ['d', 'c', 'b']
答案 3 :(得分:-1)
您也可以这样做。
n = int(input())
a = [None] * n
它将创建一个限制为n的列表。