Python 在第一个元素之后跳过其他元素

Python 在第一个元素之后跳过其他元素,python,for-loop,elements,Python,For Loop,Elements,我对如何在Java中实现这一点有大致的了解,但我正在学习Python,不知道如何实现 我需要实现一个函数,返回一个包含列表中所有其他元素的列表,从第一个元素开始 到目前为止,我还不知道如何从这里开始,因为我正在学习Python中的for循环是如何不同的: def altElement(a): b = [] for i in a: b.append(a) print b 切片表示法a[开始索引:结束索引:步骤] return a[::2] 其中star

我对如何在Java中实现这一点有大致的了解,但我正在学习Python,不知道如何实现

我需要实现一个函数,返回一个包含列表中所有其他元素的列表,从第一个元素开始

到目前为止,我还不知道如何从这里开始,因为我正在学习Python中的for循环是如何不同的:

def altElement(a):
    b = []
    for i in a:
        b.append(a)

    print b

切片表示法
a[开始索引:结束索引:步骤]

return a[::2]
其中
start\u index
默认为
0
end\u index
默认为
len(a)


这将使用。

像您一样使用for循环,一种方法是:

def altElement(a):
    b = []
    j = False
    for i in a:
        j = not j
        if j:
            b.append(i)

    print b

j只是保持在0和1之间切换,以跟踪何时向b追加元素。

或者,您可以执行以下操作:

items = range(10)
print items
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print items[1::2] # every other item after the second; slight variation
>>> [1, 3, 5, 7, 9]
]
for i in range(0, len(a), 2):
    #do something
不过,扩展切片表示法要简洁得多

剥猫皮的方法不止一种塞巴·史密斯

也可以用于循环+枚举。
elif(索引%2)=0:##检查数字是否为偶数,而不是奇数,因为索引从零开始而不是从1开始。

或者您可以这样做

def skip_elements(elements):
    # Initialize variables
    i = 0
    new_list=elements[::2]
    return new_list

# Should be ['a', 'c', 'e', 'g']:    
print(skip_elements(["a", "b", "c", "d", "e", "f", "g"]))
# Should be ['Orange', 'Strawberry', 'Peach']:
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) 
# Should be []:
print(skip_elements([]))
    def skip_elements(elements):
        # Initialize variables
        new_list = []
        i = 0

        # Iterate through the list
        for words in elements:

            # Does this element belong in the resulting list?
            if i <= len(elements):
                # Add this element to the resulting list
                new_list.append(elements[i])
            # Increment i
                i += 2

        return new_list

    print(skip_elements(["a", "b", "c", "d", "e", "f", "g"])) # Should be ['a', 'c', 'e', 'g']
    print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) # Should be ['Orange', 'Strawberry', 'Peach']
    print(skip_elements([])) # Should be []

def skip_元素(元素):
#初始化变量
新列表=[]
i=0
#反复浏览列表
对于元素中的单词:
#此元素是否属于结果列表?
如果i
def跳过元素(元素):
#初始化变量
新列表=[]
i=0
#反复浏览列表
对于元素中的单词:
#此元素是否属于结果列表?

如果我问你为什么不简单地用布尔值作为切换?而且,这是难以言喻的异想天开。我这样写是为了反映作者的企图。是的,它不太像python。当然,我会很高兴地编辑并使其成为一个bool…考虑到您可以使用列表,这是一个非常糟糕的方法slices@bchurchill-我不认为这个想法是为了准确反映作者的意图。他说他甚至不确定做这件事的正确方法。向他指出python中的惯用方法会更好这对我很有帮助,但它不同于扩展切片表示法,因为它提供了一个索引,您可以使用该索引进入原始数组,而不是获得一个“过滤”数组。因此,它们有不同的用例。这个答案的最大优点是,它比“扩展切片表示法”更具可读性,特别是对于非python开发人员而言。解决姐妹问题的唯一答案是:每个其他元素都有两种解释。这是您的输出:['a','c','e','g']['Orange','草莓','Peach'][]请为您的代码提供一些描述,以获取更多详细信息,我在coursera的“python速成课程”中遇到了这个问题;我不喜欢本课程提供的提示(注释),就像前面提到的其他答案一样,我们可以使用“2”作为范围内的步骤()进行迭代以跳过元素,我不明白他们为什么要求使用嵌套循环实现,并且这里没有使用变量“words”。TE A 24,我怀疑这是否有帮助,甚至根本不起作用。为了让我信服,请添加一个解释,说明这是如何工作的,以及为什么会提供帮助。好的…….我首先创建一个新的列表…在for循环中,我们枚举,因为我们必须使用表示奇数或偶数的索引号…如果条件适用…如果索引可被2整除,那么我们必须附加或添加它…请解释您的代码可以改进您的答案
arr = list(range(10)) # Range from 0-9

# List comprehension: Range with conditional
print [arr[index] for index in range(len(arr)) if index % 2 == 0]

# List comprehension: Range with step
print [arr[index] for index in range(0, len(arr), 2)]

# List comprehension: Enumerate with conditional
print [item for index, item in enumerate(arr) if index % 2 == 0]

# List filter: Index in range
print filter(lambda index: index % 2 == 0, range(len(arr)))

# Extended slice
print arr[::2]
def skip_elements(elements):
  new_list = []
  for index,element in enumerate(elements):
    if index == 0:
      new_list.append(element)
    elif (index % 2) == 0: 
      new_list.append(element)
  return new_list
def skip_elements(elements):
    # Initialize variables
    i = 0
    new_list=elements[::2]
    return new_list

# Should be ['a', 'c', 'e', 'g']:    
print(skip_elements(["a", "b", "c", "d", "e", "f", "g"]))
# Should be ['Orange', 'Strawberry', 'Peach']:
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) 
# Should be []:
print(skip_elements([]))
    def skip_elements(elements):
        # Initialize variables
        new_list = []
        i = 0

        # Iterate through the list
        for words in elements:

            # Does this element belong in the resulting list?
            if i <= len(elements):
                # Add this element to the resulting list
                new_list.append(elements[i])
            # Increment i
                i += 2

        return new_list

    print(skip_elements(["a", "b", "c", "d", "e", "f", "g"])) # Should be ['a', 'c', 'e', 'g']
    print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach'])) # Should be ['Orange', 'Strawberry', 'Peach']
    print(skip_elements([])) # Should be []

def skip_elements(elements):
   new_list = [ ]
   i = 0
   for element in elements:
       if i%2==0:
         c=elements[i]
         new_list.append(c)
       i+=1
  return new_list
def skip_elements(elements):
    # code goes here
    new_list=[]
    for index,alpha in enumerate(elements):
        if index%2==0:
            new_list.append(alpha)
    return new_list


print(skip_elements(["a", "b", "c", "d", "e", "f", "g"]))  
print(skip_elements(['Orange', 'Pineapple', 'Strawberry', 'Kiwi', 'Peach']))  
def skip_elements(elements):
    # Initialize variables
    new_list = []
    i = 0

    # Iterate through the list
    for words in elements:
        # Does this element belong in the resulting list?
        if i <= len(elements):
            # Add this element to the resulting list
            new_list.insert(i,elements[i])
        # Increment i
        i += 2

    return new_list
# Initialize variables
new_list = []
i = 0
# Iterate through the list
for i in range(len(elements)):
    # Does this element belong in the resulting list?
    if i%2==0:
        # Add this element to the resulting list
        new_list.append(elements[i])
    # Increment i
    i +=2

return new_list