在python中从另一个列表向列表添加项

2024-03-28 17:11:49 发布

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

我需要能够从列表b向列表a中添加一个项。一旦标识出' '这是一个双空格,那么列表b中的项就会被添加。在

因此,如果列表中的第一项不是双精度空格,则循环将继续检查列表中的下一项,如果它也不是双精度空格,则继续执行直到if找到双精度空格,然后用列表中的项b替换第一个可用的双精度空格。这应该是循环的,这样如果我再次运行该函数,列表b中的一个项目将弹出并添加到列表a中的下一个可用的双精度空格中。在

a = ['a','c','e','j','h','  ','  ','  ','  ']
b = ['b','d','f','i','g']

x = 4
for item in a:
    if item == a[4]:
        break
if a[x] != '  ':
    a[x+1] = b.pop(-2)

else:
    a[x] = a[x+1]

print("list a: ",a)
print("List b: ",b)

输出:

^{pr2}$

这是可行的,但我有一种感觉,我的代码并不是对所有输入都有效。是吗?如果没有,怎么了?在


Tags: 项目函数in列表forif精度item
3条回答

我想这就是你想要的:

def move_item(a, b):
    a[a.index('  ')] = b.pop()

>>> a = ['a','c','e','j','h','  ','  ','  ','  ']
>>> b = ['b','d','f','i','g']
>>> move_item(a, b)
>>> print('list a: ', a, '\nlist b: ', b)
list a:  ['a', 'c', 'e', 'j', 'h', 'g', '  ', '  ', '  ']
list b:  ['b', 'd', 'f', 'i']
>>> move_item(a, b)
>>> print('list a: ', a, '\nlist b: ', b)
list a:  ['a', 'c', 'e', 'j', 'h', 'g', 'i', '  ', '  ']
list b:  ['b', 'd', 'f']

这个:

a = [b.pop() if item == '  ' else item for item in a]

让你:

^{pr2}$

看看Python list comprehensions

你没有问任何问题,但这里有一些提示:

list.indexlist.popa[index_of_doublespace] = popped_value_from_b

相关问题 更多 >