切片列表建议

时间:2016-01-12 01:46:38

标签: python list slice

我试图在Python中以某种方式切片列表。如果我有一个如下所示的列表:

myList = ['hello.how.are.you', 'hello.how.are.they', 'hello.how.are.we']

有没有办法对它进行切片,以便我可以在每个元素的最后一个句点之后获取所有内容?所以,我希望"你","他们"和"我们"。

4 个答案:

答案 0 :(得分:4)

没有办法直接以这种方式切割列表;你做的是切每个元素。

您可以轻松地在句点list comprehension上构建split并获取最后一个元素。

myList = ["hello.how.are.you", "hello.how.are.they", "hello.how.are.we"]
after_last_period = [s.split('.')[-1] for s in myList]

答案 1 :(得分:1)

是的,可以做到:

s.rpsilt(".", 1)[-1]

速度恶魔的脚注:使用split()甚至比from collections.abc import Iterator class SequenceIterator(Iterator): def __init__(self, seq): self.seq = seq self.idx = 0 def __next__(self): try: ret = self.seq[self.idx] except IndexError: raise StopIteration else: self.idx += 1 return ret def seek(self, offset): self.idx += offset 更快。

答案 2 :(得分:1)

[i.split('.')[-1] for i in myList]

答案 3 :(得分:1)

假设您在每个列表元素周围省略了引号,请使用列表推导和str.split()

[x.split('.')[-1] for x in myList]