4 回答

TA贡献1877条经验 获得超1个赞
named_list您可以使用您的压缩包data并为每个数据元素分配一个名称。
代码:
from string import ascii_lowercase
def do():
data = [[(0, 1, 2), (3, 4, 5), (6, 7, 8)],
[(0, 1, 2), (6, 7, 8), (3, 4, 5)],
[(3, 4, 5), (6, 7, 8), (0, 1, 2)]]
featured_list = list(map(lambda x: list(zip(ascii_lowercase, x)), data))
for items in featured_list:
for item in items:
print(f"{item[0]}: {item[1]}")
if __name__ == '__main__':
do()
输出:
a: (0, 1, 2)
b: (3, 4, 5)
c: (6, 7, 8)
a: (0, 1, 2)
b: (6, 7, 8)
c: (3, 4, 5)
a: (3, 4, 5)
b: (6, 7, 8)
c: (0, 1, 2)

TA贡献1862条经验 获得超6个赞
不确定这是否是您正在寻找的,但您可以将每个匹配tuple为 akey并根据需要添加值。IE:
data = [[(0, 1, 2), (3, 4, 5), (6, 7, 8)],
[(0, 1, 2), (6, 7, 8), (3, 4, 5)],
[(3, 4, 5), (6, 7, 8), (0, 1, 2)]]
dict1 = {(0, 1, 2): 'a', (3, 4, 5): 'b', (6, 7, 8): 'c'}
for row in data:
print(', '.join(['%s:%s' % (dict1[elem], elem) for elem in row if elem in dict1]))

TA贡献1942条经验 获得超3个赞
您可以使用该函数chain.from_iterable()迭代每个子列表中的每个元素:
from itertools import chain
from string import ascii_lowercase
c = chain.from_iterable(data)
for i, j in zip(ascii_lowercase, c):
print(i, j, sep = ' : ')
如果你想建立一个字典,你可以使用函数dict()和zip():
c = chain.from_iterable(data)
dct = dict(zip(ascii_lowercase, c))

TA贡献1806条经验 获得超8个赞
尝试这个:
from string import ascii_lowercase
alphabet=0
for i in data:
for j in i:
print(ascii_lowercase[alphabet] + " : " + str(j))
alphabet += 1
我还有一些问题,比如如果您的列表长度超过字母大小怎么办?此外,如果您只想打印而不是存储,这个答案是有效的。
添加回答
举报