这个Python新手练习有问题。使用列表并查找两个相邻元素是否为sam

2024-04-24 20:33:49 发布

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

我得到的是:

# D. Given a list of numbers, return a list where
# all adjacent == elements have been reduced to a single element,
# so [1, 2, 2, 3] returns [1, 2, 3]. You may create a new list or
# modify the passed in list.
def remove_adjacent(nums):
  for number in nums:
    numberHolder = number

  # +++your code here+++
  return

我有点困在这里了。我能做什么?


Tags: ofinnumberreturnhaveelementsallwhere
3条回答

试试这个:

def remove_adjacent(nums):
  removed_list = []
  numberHolder = None
  for number in nums:
    if number != numberHolder:
       removed_list.append(number)
       numberHolder = number
  return removed_list

将当前数字与上一个数字进行比较。如果不一样,就把它附加到一个新列表中。然后保存它,以便下一个循环可以使用它。在

>>> import itertools
>>> [i[0] for i in itertools.groupby([1,2,2,3,3,3,2,2])]
[1, 2, 3, 2]

或者:

^{pr2}$

相关问题 更多 >