如何在没有一行循环的情况下编写此Python代码?

时间:2018-12-02 12:12:30

标签: python function for-loop hex rgb

我看到了一个将十六进制颜色代码转换为RGB颜色代码的函数。但我不太了解。用多行for循环怎么写?这行在做什么: hex[i:i + 2], 16

def hex_to_rgb(hex):
    return tuple(int(hex[i:i + 2], 16) for i in (0, 2 ,4))

谢谢。

1 个答案:

答案 0 :(得分:2)

它所做的就是从十六进制获取红色,绿色和蓝色值,将其转换为整数并将其返回为元组 https://www.rapidtables.com/convert/color/how-hex-to-rgb.html

def hex_to_rgb(hex):
    rgb_lst = []
    for i in (0, 2, 4):
        hex_int = int(hex[i: i + 2], 16) # convert to base 16 int
        rgb_lst.append(hex_int)
    return tuple(rgb_lst)