python用for循环反转列表_如何使用Python中的循环来反转列表的一部分?

I'm in need of a little help reversing a section of a list in Python using a loop.

I have a list: mylist = ['a', 'b', 'c', 'd', 'e', 'f']

Also have an index number, this number will tell where to start the reversing. For example, if the reverse-index number is 3, it needs to be something like this: ['d', 'c', 'b', 'a', 'e', 'f']

What I currently have:

def list_section_reverse(list1, reverse_index):

print("In function reverse()")

n_list = []

for item in range( len(list1) ):

n_list.append( (list1[(reverse_index - 1) - item]) )

item += 1

return n_list

mylist = ['a', 'b', 'c', 'd', 'e', 'f']

print( list_section_reverse(mylist, 3) )

Which returns ['c', 'b', 'a', 'f', 'e', 'd']

How can I alter my code, so that it prints out ['d', 'c', 'b', 'a', 'e', 'f']?

解决方案

Is it allowed to make a copy of the list?

def list_section_reverse(list1, reverse_index):

print("In function reverse()")

n_list = [ element for element in list1 ]

for item in range( reverse_index + 1 ):

n_list[ item ] = list1[ reverse_index - item ]

item += 1

return n_list

mylist = ['a', 'b', 'c', 'd', 'e', 'f']

print(list_section_reverse(mylist, 3))

Outs:

In function reverse()

['d', 'c', 'b', 'a', 'e', 'f']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值