如何提取嵌套列表第n个元素的第一个元素(作为字符串列表),Python

2024-09-30 01:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个新的python初学者,尝试从嵌套列表的前n个元素中提取第一个元素。但到目前为止还不起作用。你知道吗

说:

list = [["Anna","w",15],["Peter","m",20],["Zani","m",10], ["Lily","w",19]]

目标:

list_new = ['Anna','Peter','Zani'...(#until the n-th elements)]

如果我想找到列表中所有元素的第一个元素,它应该是:

for i in list:
    for j in i:
        print j[0]

但是如果我只想去掉列表中第n个元素的第一个元素,而不是所有元素呢。你知道吗

例如,对于前两个元素: 我试过:

for i in list[0:2]:
    for j in i:
        print j[0]

但没用。你知道吗

另外,如果我想用

def sheet(list, n) 

还有退货声明,我怎么做?你知道吗

非常感谢!!你知道吗


Tags: thein元素目标列表newforlist
3条回答
lst = [["Anna","w",15],["Peter","m",20],["Zani","m",10], ["Lily","w",19]]
n = 2
print(lst[n][0])

输出: 扎尼

---更新了问题中添加的详细信息的答案---

l = [["Anna","w",15],["Peter","m",20],["Zani","m",10], ["Lily","w",19]]
n = 2
for i in range(n):
  print(l[i][0])

输出:

安娜

彼得

你可以使用列表理解。给定一个列表的输入列表L

L_new = [i[0] for i in L[:n]]

在功能上,可以使用^{}。此外,可以使用^{}来避免创建中介列表:

from operator import itemgetter
from itertools import islice

L_new = list(map(itemgetter(0), islice(L, 0, n)))

注意,list是为python中的内置函数list()保留的,您不应该使用'list'作为变量名。你知道吗

要获取每个嵌套列表的第一个元素:

l = [["Anna","w",15],["Peter","m",20],["Zani","m",10], ["Lily","w",19]]
for e in l:
     print(e[0])

印刷品:

Anna
Peter
Zani
Lily

对第n个元素执行相同操作:

def sheet(l, n):
    return [e[0] for e in l[:n]]

sheet(l, 3)

退货

['Anna', 'Peter', 'Zani']

编辑

def sheet(l, n):
    for e in l[:n]
        return [e[0]]

此代码只返回['Anna'],因为return语句停止函数。for循环在第一个元素处停止。你知道吗

def sheet(l, n):
    return [e[0] for e in l[:n]]

相当于:

def sheet(l, n):
    result = [e[0] for e in l[:n]]
    return result

相当于:

def sheet(l, n):
    result = []
    for e in l[:n]:
        result.append(e[0])
    return result

for循环可以在return语句之前结束。你知道吗

更多信息here。你知道吗

相关问题 更多 >

    热门问题