Python 更改列表中的每n项
例如,如果我想让每一秒的大小写都像Python 更改列表中的每n项,python,Python,例如,如果我想让每一秒的大小写都像 original_list = ['FisH', 'Dog', 'cow', 'piG'] desired_list = ['fish', 'DOG', 'cow', 'PIG'] 我的方法是分别列出上下两个单词,然后加入它们,但我知道这是一种不好的方法: list1 = [] list2 = [] for i in orginal_list[0::2]: i = i.lower() list1.append(i) for i in
original_list = ['FisH', 'Dog', 'cow', 'piG']
desired_list = ['fish', 'DOG', 'cow', 'PIG']
我的方法是分别列出上下两个单词,然后加入它们,但我知道这是一种不好的方法:
list1 = []
list2 = []
for i in orginal_list[0::2]:
i = i.lower()
list1.append(i)
for i in orginal_list[1::2]:
i = i.upper()
list2.append(i)
使用enumerate()
函数和模除以2(检测偶数位置):
输出:
['fish', 'DOG', 'cow', 'PIG']
使用enumerate()
函数和模除以2(检测偶数位置):
输出:
['fish', 'DOG', 'cow', 'PIG']
与您自己的类似,但将切片分配到后面
mylist[::2] = map(str.lower, mylist[::2])
mylist[1::2] = map(str.upper, mylist[1::2])
演示:
与您自己的类似,但将切片分配到后面
mylist[::2] = map(str.lower, mylist[::2])
mylist[1::2] = map(str.upper, mylist[1::2])
演示: