在Python中将列表转换为具有3个值的列表元组,反之亦然

时间:2019-03-31 14:03:04

标签: arrays python-3.x

我正在尝试通过提供一组像素图像(RGB值)来创建图像。

我创建了一组一维数组,13个值,并希望将每个值复制为像素的RGB值。

喜欢 我有

self.note_sequences = multiprocessing.Array(c_char_p,df.shape[0])

13个值。我想从中创建一个图像,因此首先我将最接近的完美正方形(在这种情况下为16)贴图。因此,我需要通过使用现有的13个值并用默认值填充其余值来生成16个RGB值数组。 (默认值为0)

[12,13,14,15,65,66,54,12,34,77,88,33,56]

我知道如何使用枕头将该二维列表转换为图像。我在创建此列表并将其转换回原始列表时需要帮助

1 个答案:

答案 0 :(得分:0)

尝试一下

arr = [12,13,14,15,65,66,54,12,34,77,88,33,56]

res = []
for k in arr:
    res.append(tuple([k] * 3))  # Create list of three k elements and convert it to a tuple with tuple statement.
while(len(res)<16):
    res.append(tuple([0] * 3))  # Fill remaining tuples of three zeroes

result = [res[i:i + 4] for i in range(0, len(res), 4)]   # Make chunks of resultant array of size 4

print(result)

注意:-如下将列表转换为元组,反之亦然。

listA = [1,2,3]
tupleA = tuple(listA) 
print(tupleA)
listB = list(tupleA)
print(listB)