python列表索引_Python列表索引拆分和操作

我的问题似乎很简单,但对于像我这样的新手来说,这对我来说太复杂了,所以情况如下:

我需要列出如下列表:

L = [(a, b, c), (d, e, d), (etc, etc, etc), (etc, etc, etc)]

并使每个索引成为一个单独的列表,以便我可以专门从每个索引中提取元素.问题是,我实际使用的列表包含数百个索引,如上面的那些,我不能做如下:

L_new = list(L['insert specific index here'])

对于每一个,因为这将意味着用与第一个列表的各个索引相对应的数百个列表填充存储器,并且从我的观点来看将太耗费时间和内存消耗.所以我的问题是,如何分离这些索引,然后从中提取单个部分,而不需要创建数百个单独的列表(至少到我不需要数百个单独的行来创建它们).

解决方法:

我可能会误读你的问题,但我倾向于说你实际上不需要做任何事情来索引你的元组.看到我的评论,但是:L [0] [0]将给出“a”,L [0] [1]将给出“b”,L [2] [1]将给出“etc”等…

如果你真的想要一个干净的方法把它变成一个列表列表,你可以使用列表理解:

cast = [list(entry) for entry in L]

在回复您的评论时:如果您想要跨维度访问,我建议列表理解.具体的评论:

crosscut = [entry[0] for entry in L]

回应评论2:这主要是一个非常有用的操作的一部分,称为切片.具体来说,要执行引用的操作,您将执行此操作:

multiple_index = [entry[0:3] for entry in L]

根据您的可读性偏好,这里有许多可能性:

list_of_lists = []

for sublist in L:

list_of_lists.append(list(sublist))

iterator = iter(L)

for i in range(0,iterator.__length_hint__()):

return list(iterator.next())

# Or yield list(iterator.next()) if you want lazy evaluation

标签:python,arrays,list

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值