【发布时间】:2022-01-07 15:32:43
【问题描述】:
是否可以创建一个这种风格的字典,以便稍后提供指向模型的链接:
Pre = {['g1_i1', 'bd1']: ['i1_i2', 'i2_i1'], ['g1_i1', 'g2']: ['i1_i2', 'i2_i1'], ...}
我的错误代码:
Pre = dict(zip(r, Pre_arr))
TypeError: unhashable type: 'list'
到目前为止,这是我的代码,但我遇到的问题是 zip 和 dict 在这种情况下不起作用。您是否知道创建上述 dict 的任何其他方式或以这种方式传递值的类似方法?
links = ['g1_i1', 'i1_g1', 'bd1_i2', 'i2_bd1', 'g2_i3', 'i3_g2', 'i1_i2', 'i2_i1', 'i2_i3', 'i3_i2', 'i1_i5', 'i5_i1',
'i3_i4', 'i4_i3', 'i4_i5', 'i5_i4', 'i4_p2', 'p2_i4', 'i5_p1', 'p1_i5']
psu = ['g1', 'g2', 'bd1']
Pre_arr = [['i1_i2', 'i2_i1'], ['i2_i3', 'i3_i2'], ['g1_i1', 'i1_g1'], ['i1_i2', 'i2_i1'], ['g1_i1', 'i1_g1'], ['i1_i2', 'i2_i1'], ['i2_i3', 'i3_i2'], ['i1_i2', 'i2_i1'], ['i2_i3', 'i3_i2'], ['i3_i4', 'i4_i3'], ['i2_i3', 'i3_i2'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5'], ['i2_i1', 'i1_i2'], ['i2_i3', 'i3_i2'], ['i2_i1', 'i1_i2'], ['g2_i2', 'i2_g2'], ['g2_i2', 'i2_g2'], ['g2_i2', 'i2_g2'], ['i2_i3', 'i3_i2'], ['g2_i2', 'i2_g2'], ['i2_i3', 'i3_i2'], ['i3_i4', 'i4_i3'], ['i2_i3', 'i3_i2'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5'], ['i2_i1', 'i1_i2'], ['i3_i2', 'i2_i3'], ['i2_i1', 'i1_i2'], ['i3_i2', 'i2_i3'], ['i3_i2', 'i2_i3'], ['i3_i2', 'i2_i3'], ['bd1_i3', 'i3_bd1'], ['bd1_i3', 'i3_bd1'], ['bd1_i3', 'i3_bd1'], ['i3_i4', 'i4_i3'], ['bd1_i3', 'i3_bd1'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5'], ['i4_i5', 'i5_i4'], ['i3_i4', 'i4_i3'], ['i4_i5', 'i5_i4'], ['i5_i6', 'i6_i5']]
r = []
w =[]
for i in links:
w += i.split('_')
#print(w)
for j in range(0, len(w), 2):
l2 = list((w[j], w[j+1]))
for i in psu:
if w[j] == i or w[j+1] == i:
pass
else:
m = ('_'.join(l2))
r.append([m, i])
Pre = dict(zip(r, Pre_arr))
【问题讨论】:
标签: python dictionary