python - python中的循环和分支

标签 python loops

我只是 python 的初学者,我必须在它的基础上做我的第一个练习,我也有它们的解决方案,但是尽管我在理解其中的一些、语句和一些命令行中的函数时遇到了问题。

这是练习之一:创建一个名为 mixlist 的新空列表。这个新列表将包含颜色列表中两种相邻颜色的颜色混合。颜色列表中的前两种颜色是“红色”和“黄色”。因此,混合列表中的第一项将是“红黄色”(红色和黄色的混合)。注意“_”字符。制作一个循环,自动填充混合列表。最后,键入 mixlist 以查看结果。如果结果错误,您必须更正程序。

这是答案:

colourList = ['red', 'yellow', 'green', 'white']
mixList = []

count = 0
oldx = " "

for x in colourList:
    if count > 0:
        print oldx + "_" + x
        mixList.append(oldx + "_" + x)
    oldx = x
    count += 1

print mixList

我不明白其中的大部分内容,例如,oldx 是什么,为什么它表示空白 "" 在开头然后在结尾是 = x 所以 R 看不到 oldxx 之间的区别所以我也没有得到这个语句:oldx + "_"+ x

我很困惑,我需要一些帮助......

在此先感谢大家的帮助

最佳答案

请注意,“答案”太复杂了。一种更简单的算法,具有更好的命名并摆脱了无用的“计数”变量:

colourList = ['red', 'yellow', 'green', 'white']
mixList = []
prev_colour = None

for current_colour in colourList:
    if prev_colour is not None:
        mix = prev_colour + "_" + current_colour
        print mix
        mixList.append(mix)

    prev_colour = current_colour

print mixList

虽然这可能是最好的“cs 101”版本,但 pythonic 版本是单行代码:

mixList = ["%s_%s" % pair for pair in zip(colourList, colourList[1:])]

关于python - python中的循环和分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19544589/

相关文章:

python - 从 grid_2d_graph 中一致删除节点

检查序列是否单调递增的代码

c - 如何使用指针交换数组

python - 在 Python 中循环 : Do stuff before first iteration

javascript - 使用 Javascript Math 创建圆形图案中的虚线

arrays - 循环范围与循环数组之间的性能差异

python - 在同一目录中保存多个 make 文件时收到警告

python - 在特定位置打包/附加元素以创建元组

python - numpy.histogram() 是如何工作的?

python - 如何根据另一个列表中的项目从嵌套列表创建第三个列表