遍历字符串列表并执行任务(Python练习第2章介绍)

问题描述 投票:1回答:1

在哪里询问我的代码是否清晰和良好。因此,我有三个任务要做:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9Ra2xKWS5wbmcifQ==” alt =“在此处输入图像描述”>

因此,我尝试遍历它,并在一个循环中完成所有这些操作。希望能有一些反馈,祝您反馈愉快。

names = ['mozzarella', 'cinderella', 'salmonella']
for i in range(len(names)):
  for name in names:
    if name == 'cinderella':
        names[i] = name.capitalize()
        i += 1
    elif name == 'mozzarella':
        names[i] = name.upper()
        i += 1
    elif name == 'salmonella':
        names.remove(name)

输出:

['MOZZARELLA', 'Cinderella']
python python-3.x string list
1个回答
0
投票

这里不需要进行两次迭代。您可以为range()做一个,然后直接通过names[i]调用列表。 i是要迭代的范围内的当前位置,因此,当您调用names[i]时,它将在列表中显示该索引。

for i in range(len(names)):
    if names[i] == 'mozzarella': 
        names[i] = names[i].upper()
    if names[i] == 'cinderella': 
        names[i] = names[i].capitalize()
    if names[i] == 'salmonella': 
        names.remove(names[i])

您的代码实际上可以正常工作,这只是您如何遍历数据的问题。

names
['MOZZARELLA', 'Cinderella']
© www.soinside.com 2019 - 2024. All rights reserved.