例如,如果我想像
那样每隔一个大写和小写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)
答案 0 :(得分:4)
使用enumerate()
功能和模数除以 2 (以检测偶数位置):
original_list = ['FisH', 'Dog', 'cow', 'piG']
result = [w.lower() if not i%2 else w.upper() for i,w in enumerate(original_list)]
print(result)
输出:
['fish', 'DOG', 'cow', 'PIG']
答案 1 :(得分:2)
与您自己的相似,但右后方分配切片。
mylist[::2] = map(str.lower, mylist[::2])
mylist[1::2] = map(str.upper, mylist[1::2])
演示:
>>> mylist= ['FisH', 'Dog', 'cow', 'piG']
>>> mylist[::2] = map(str.lower, mylist[::2])
>>> mylist[1::2] = map(str.upper, mylist[1::2])
>>> mylist
['fish', 'DOG', 'cow', 'PIG']