4 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
named_list您可以使用您的壓縮包data并為每個(gè)數(shù)據(jù)元素分配一個(gè)名稱。
代碼:
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貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
不確定這是否是您正在尋找的,但您可以將每個(gè)匹配tuple為 akey并根據(jù)需要添加值。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貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用該函數(shù)chain.from_iterable()迭代每個(gè)子列表中的每個(gè)元素:
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 = ' : ')
如果你想建立一個(gè)字典,你可以使用函數(shù)dict()和zip():
c = chain.from_iterable(data)
dct = dict(zip(ascii_lowercase, c))

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
嘗試這個(gè):
from string import ascii_lowercase
alphabet=0
for i in data:
for j in i:
print(ascii_lowercase[alphabet] + " : " + str(j))
alphabet += 1
我還有一些問題,比如如果您的列表長(zhǎng)度超過字母大小怎么辦?此外,如果您只想打印而不是存儲(chǔ),這個(gè)答案是有效的。
添加回答
舉報(bào)