List 把一张单子切成小块

List 把一张单子切成小块,list,python-3.x,slice,List,Python 3.x,Slice,如何获取列表的最后三个元素,而不包括第一个元素 例如,使用这两个列表 a=['Matt','1','2'],b=['Luke','1','2','3'] 我希望返回的列表是:['1','2']和['1','2','3']。有没有简单的方法可以做到这一点?您可以简单地使用以下方法: >>> b[-3:] ['1', '2', '3'] 如果列表中的分数少于3分,则您可以: >>> b = ['Luke', '1', '2'] >>> b[1:

如何获取列表的最后三个元素,而不包括第一个元素

例如,使用这两个列表

a=['Matt','1','2']
b=['Luke','1','2','3']

我希望返回的列表是:
['1','2']
['1','2','3']
。有没有简单的方法可以做到这一点?

您可以简单地使用以下方法:

>>> b[-3:]
['1', '2', '3']
如果列表中的分数少于3分,则您可以:

>>> b = ['Luke', '1', '2']
>>> b[1:]
['1', '2']
因此,要将它们结合起来,您可以使用:

if len(b) > 3:
    b[-3:]
else:
    b[1:]
您可以简单地使用:

>>> b[-3:]
['1', '2', '3']
如果列表中的分数少于3分,则您可以:

>>> b = ['Luke', '1', '2']
>>> b[1:]
['1', '2']
因此,要将它们结合起来,您可以使用:

if len(b) > 3:
    b[-3:]
else:
    b[1:]
要从列表中获取最后的
n
元素,您需要执行以下操作:

a[-n:]

下面是一个简单的例子:

>>> a = [1, 2, 3, 4]
>>> a[-3:]
[2, 3, 4]
如果列表中包含要从列表中获取最后的
n
元素,请执行以下操作:

a[-n:]

下面是一个简单的例子:

>>> a = [1, 2, 3, 4]
>>> a[-3:]
[2, 3, 4]

如果您的列表包含在您的案例中,名称始终是列表中的第一个参数,因此只需应用于其中的每一个:

 a = a[1:]
 b = b[1:]
获取最后三个参数不会在上工作,因为它包含三个参数。它将在一些条件语句之后工作

如果确定需要最后3个参数,请使用以下选项:

a = a[-3:]
b = b[-3:]
为您提供完整的代码片段:

def get_list(my_list):
    if len(my_list) > 3:
        return my_list[-3:]
    else:
        return my_list[1:]

在您的情况下,名称始终是列表中的第一个参数,因此只需应用于其中的每一个:

 a = a[1:]
 b = b[1:]
获取最后三个参数不会在上工作,因为它包含三个参数。它将在一些条件语句之后工作

如果确定需要最后3个参数,请使用以下选项:

a = a[-3:]
b = b[-3:]
为您提供完整的代码片段:

def get_list(my_list):
    if len(my_list) > 3:
        return my_list[-3:]
    else:
        return my_list[1:]

除了其他好的答案之外,你还可以考虑使用这个列表来代替这个。你可以这样做:

a = ['Matt', '1', '2']
b = ['Luke', '1', '2', '3']
scoresDict = {}

scoresDict[a[0]] = a[1:]
scoresDict[b[0]] = b[1:]

print(scoresDict)
print(scoresDict['Matt'])
print(scoresDict['Luke'])
输出:

{'Matt': ['1', '2'], 'Luke': ['1', '2', '3']}
['1', '2']
['1', '2', '3']

除了其他好的答案之外,你还可以考虑使用这个列表来代替这个。你可以这样做:

a = ['Matt', '1', '2']
b = ['Luke', '1', '2', '3']
scoresDict = {}

scoresDict[a[0]] = a[1:]
scoresDict[b[0]] = b[1:]

print(scoresDict)
print(scoresDict['Matt'])
print(scoresDict['Luke'])
输出:

{'Matt': ['1', '2'], 'Luke': ['1', '2', '3']}
['1', '2']
['1', '2', '3']

对于
列表中的不同元素
,将所有元素放入列表中,然后
将其映射到
lambda
函数

In [1]: a = [1,2,3,4]
In [2]: b = ['a', 'b', 'c', 'd', 'e']
In [3]: lis = [a, b]

In [4]: list(map(lambda x: x[-(len(x)-1):], lis))
Out[4]: [[2, 3, 4], ['b', 'c', 'd', 'e']]

对于
列表中的不同元素
,将所有元素放入列表中,然后
将其映射到
lambda
函数

In [1]: a = [1,2,3,4]
In [2]: b = ['a', 'b', 'c', 'd', 'e']
In [3]: lis = [a, b]

In [4]: list(map(lambda x: x[-(len(x)-1):], lis))
Out[4]: [[2, 3, 4], ['b', 'c', 'd', 'e']]

['1','2']
最后三个元素是什么?最后三个元素不包括第一个元素。所有列表的格式都是
['name'、'score'、'score'…]
,我需要最后三个'score'元素,不包括'name'。
['1'、'2']
最后三个元素如何?最后三个元素不包括第一个元素。所有列表的格式都是
['name'、'score'、'score'…]
,我需要最后三个'score'元素,不包括'name'。但这将返回第一个元素之后的所有元素。如果我有一个这样格式的列表:`['n'、'1'、'2'、'3'、'4'、'5'],我需要它返回['3'、'4'、'5'],而不是['1'、'2'、'3'、'4'、'5']。我修复了这个@matt,它返回第一个之后的所有元素。如果我有一个这样格式的列表:`['n'、'1'、'2'、'3'、'4'、'5'],我需要它返回['3'、'4'、'5'],而不是['1'、'2'、'3'、'4'、'5']。我修复了这个@Matt