首页 > 解决方案 > 如何将存储在偶数索引处的字符串加倍和存储在 3 的倍数的索引处的三重字符串

问题描述

在此处输入图像描述下面是场景。

编写一个名为 multiply_strings 的函数。乘以字符串应该有一个参数,一个字符串列表。它应该根据以下更改返回一个修改后的列表:

这些变化应该“叠加”

test_list = [“A”、“B”、“C”、“D”、“E”、“F”、“G”]

如果您的功能正常工作,最初将打印: ['AAAAAA', 'B', 'CC', 'DDD', 'EE', 'F', 'GGGGGG']

def multiply_strings(test_list): 
    for i in test_list:
        print(i) 

test_list = ["A", "B", "C", "D", "E", "F", "G"] print(multiply_strings(test_list))

标签: pythonlistfunctiontuples

解决方案


评论已经涵盖了它,但我想我会尝试在这里放一个更容易理解的答案。

def multiply_strings(test_list):
    for i, _ in enumerate(test_list):

        # 2 if statements are required for changes to stack
        if not i % 2:  # even
            test_list[i] *= 2

        if not i % 3:  # multiple of 3
            test_list[i] *= 3

    return test_list


test_list = ["A", "B", "C", "D", "E", "F", "G"]

print(multiply_strings(test_list))

*= 与 += 的想法相同,它只是将项目本身乘以右边的数字。

请注意,您可以在技术上只使用for i in range(len(test_list)).


推荐阅读