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
我還有一些問題,比如如果您的列表長度超過字母大小怎么辦?此外,如果您只想打印而不是存儲,這個答案是有效的。
添加回答
舉報