如何从python列表中删除特定元素并将这些元素添加到列表的最后一个元素中?
对于上述问题,互联网上有很多解决方案,但我在这里构建自己的逻辑,并编写了以下解决方案,但我的代码不是动态的,例如,我的代码仅适用于num=2 我们如何使用下面的逻辑为动态用户输入编写代码。如有任何建议,将不胜感激 我的代码:如何从python列表中删除特定元素并将这些元素添加到列表的最后一个元素中?,python,list,Python,List,对于上述问题,互联网上有很多解决方案,但我在这里构建自己的逻辑,并编写了以下解决方案,但我的代码不是动态的,例如,我的代码仅适用于num=2 我们如何使用下面的逻辑为动态用户输入编写代码。如有任何建议,将不胜感激 我的代码: l = [1,2,3,4,5,6,7] l1 = [] num = 2 print('original list is:', l) for i in range(0,num-1): rem = l.pop(i) l1.append(rem) for
l = [1,2,3,4,5,6,7]
l1 = []
num = 2
print('original list is:', l)
for i in range(0,num-1):
rem = l.pop(i)
l1.append(rem)
for i in range(0,num-1):
rem = l.pop(i)
l1.append(rem)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
l = [1,2,3,4,5,6,7]
num = 2 (This number can be dynamic, User can pass any number)
Output: l = [3,4,5,6,7,1,2]
If user passed num = 3 then output should be like below:
Output: l = [4,5,6,7,1,2,3]
我的输出:(当num=2时)
我的输出:(当num=3时)
预期解决方案:
l = [1,2,3,4,5,6,7]
l1 = []
num = 2
print('original list is:', l)
for i in range(0,num-1):
rem = l.pop(i)
l1.append(rem)
for i in range(0,num-1):
rem = l.pop(i)
l1.append(rem)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
l = [1,2,3,4,5,6,7]
num = 2 (This number can be dynamic, User can pass any number)
Output: l = [3,4,5,6,7,1,2]
If user passed num = 3 then output should be like below:
Output: l = [4,5,6,7,1,2,3]
尽管
poup列表
和reverse列表
似乎并不代表具有最佳名称的列表,但以下代码片段应该可以解决您的问题:
l = [1,2,3,4,5,6,7]
print("Original list: {}".format(l) )
num = input("Enter value of 'num': " )
l1 = []
for i in range(0,int(num)):
rem = l.pop(0)
l1.append(rem)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
此处动态存储num
。对for循环唯一一个小的修正是l
应该总是弹出第一个元素。这是因为一旦弹出一个元素,第二个元素就成为列表中的第一个元素。但是由于i
的值增加,它只跳过该元素
以下是一个示例输出:
Original list: [1, 2, 3, 4, 5, 6, 7]
Enter value of 'num': 4
poup list is [1, 2, 3, 4]
reverse list is [5, 6, 7, 1, 2, 3, 4]
尽管
poup列表
和reverse列表
似乎并不代表具有最佳名称的列表,但以下代码片段应该可以解决您的问题:
l = [1,2,3,4,5,6,7]
print("Original list: {}".format(l) )
num = input("Enter value of 'num': " )
l1 = []
for i in range(0,int(num)):
rem = l.pop(0)
l1.append(rem)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
此处动态存储num
。对for循环唯一一个小的修正是l
应该总是弹出第一个元素。这是因为一旦弹出一个元素,第二个元素就成为列表中的第一个元素。但是由于i
的值增加,它只跳过该元素
以下是一个示例输出:
Original list: [1, 2, 3, 4, 5, 6, 7]
Enter value of 'num': 4
poup list is [1, 2, 3, 4]
reverse list is [5, 6, 7, 1, 2, 3, 4]
您可以使用while循环。代码的问题是,当弹出时索引位置发生了变化,在num=2的情况下,这是正常的,但随后它会与新位置混淆
l = [1,2,3,4,5,6,7]
l1 = []
num = 3
print('original list is:', l)
y = 0
while y != num:
rem = l.pop(0)
y +=1
l1.append(rem)
print(l)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
您可以使用while循环。代码的问题是,当弹出时索引位置发生了变化,在num=2的情况下,这是正常的,但随后它会与新位置混淆
l = [1,2,3,4,5,6,7]
l1 = []
num = 3
print('original list is:', l)
y = 0
while y != num:
rem = l.pop(0)
y +=1
l1.append(rem)
print(l)
print('poup list is',l1)
l.extend(l1)
print('reverse list is',l)
我希望
for
循环出现两次是错误的。如果是这样,请更正。@IshwarVenugopal Its不是错误的,如果我不能使用两个for循环,则使用我的逻辑将无法实现预期的输出。无论如何,您的代码是正确的。我希望出现两次的for
循环是错误的。如果是这样,请更正。@IshwarVenugopal Its不是错误的,使用我的逻辑如果我不能使用两个for循环,我将无法实现预期的输出。无论如何,您的代码是正确的。