限制Python列表的长度

时间:2016-11-19 17:44:26

标签: python list limit

如何设置一个最多只能容纳十个元素的列表?

我使用以下语句获取列表的输入名称:

ar = map(int, raw_input().split())

并希望限制用户可以提供的输入数量

4 个答案:

答案 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的列表。