python - 如何将存储在偶数索引处的字符串加倍和存储在 3 的倍数的索引处的三重字符串
问题描述
编写一个名为 multiply_strings 的函数。乘以字符串应该有一个参数,一个字符串列表。它应该根据以下更改返回一个修改后的列表:
- 存储在偶数索引处的每个字符串都应该加倍。
- 存储在 3 倍数索引处的每个字符串都应增加三倍。
- 其他所有字符串都应保持不变。
这些变化应该“叠加”
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))
解决方案
评论已经涵盖了它,但我想我会尝试在这里放一个更容易理解的答案。
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))
.
推荐阅读
- dropdown - 如何在 Reactstrap 的固定长度下拉项中包装文本?
- reactjs - ASP.NET Core API 和 React JS
- c# - 我应该在 C# 中显式地使“GetObjectData”方法虚拟化吗?
- ruby-on-rails - 如何在不使用连接模型的情况下按同一模型上的列对模型上的所有对象进行分组?
- isabelle - Eisbach 中具有自定义规则的案例
- python - 带有python错误过程的facebook api以退出代码0完成但未显示输出
- apache-superset - 如何更改 Apache Superset 的颜色主题
- java - 如何用Java制作一个矩形?
- python - Mac 上的 RuntimeError:freeze_support()
- javascript - 使用轻量级浏览器 JS 库(如 omggif)从 gif 中提取帧