我有一个如下列表。
list = [[Name,ID,Age,mark,subject],[karan,2344,23,87,Bio],[karan,2344,23,87,Mat],[karan,2344,23,87,Eng]]
我只需要输入名称'Karan'作为输出。
我怎么能得到它?
答案 0 :(得分:1)
这是一个2D列表,
[XML]$xmlDocument = Get-Content -Path "C:\xxx.xml"
$DSCID = $xmlDocument.DistributionService.DSCID
将为您提供列表中的第i个列表以及该列表中的第j个项目。
所以要获得Karen你想要的名单[1] [0]
答案 1 :(得分:1)
我赞成Lio Elbammalf,但决定提供一个答案,该答案提出了一些假设应该在问题中澄清:
暂时忽略 2 ,你想要做的就是删除"标题"从列表中(以便列表的其余部分是统一的),然后找到" Name"的索引。 (您想要的输出)。
myinput = [["Name","ID","Age","mark","subject"],
["karan",2344,23,87,"Bio"],
["karan",2344,23,87,"Mat"],
["karan",2344,23,87,"Eng"]]
## Remove the headers from the list to simplify everything
headers = myinput.pop(0)
## Figure out where to find the person's Name
nameindex = headers.index("Name")
## Return a list of the Name in each row
return [stats[nameindex] for stats in myinput]
如果保证每一行的名称相同,那么您可以在另一个答案中建议return myinput[0][nameindex]
之类的
现在,如果 2 为真,我假设您正在使用csv
模块,在这种情况下使用DictReader
加载文件类,然后使用'Name'
键访问每一行:
def loadfile(myfile):
with open(myfile) as f:
reader = csv.DictReader(f)
return list(reader)
def getname(rows):
## This is the same return as above, and again you can just
## return rows[0]['Name'] if you know you only need the first one
return [row['Name'] for row in rows]
答案 2 :(得分:0)
在Python 3中,你可以这样做
_, [x, _, _, _, _], *_ = ls
现在x
将是karan。