我有
a = [price1, price2]
b = [[108455, 106406, 103666, 101408, 98830], [3926, 4095, 426]]
如何自动将a[0]
分配到b[0]
,将a[1]
分配到b[1]
?
答案 0 :(得分:2)
我认为你正在尝试做这样的事情
b = [[108455, 106406, 103666, 101408, 98830], [3926, 4095, 426]]
price1, price2 = b
或全部在一行
price1, price2 = [[108455, 106406, 103666, 101408, 98830], [3926, 4095, 426]]
另一种可能性是创建一个具有属性的可变对象来保存价格
>>> class Price(object):
... def __init__(self, value=None):
... self.value = value
... def __repr__(self):
... return "Price({})".format(self.value)
...
>>> price1 = Price()
>>> price2 = Price()
>>> a = [price1, price2]
>>> b = [[108455, 106406, 103666, 101408, 98830], [3926, 4095, 426]]
>>> for i,j in zip(a, b):
... i.value = j
...
>>> a
[Price([108455, 106406, 103666, 101408, 98830]), Price([3926, 4095, 426])]
答案 1 :(得分:0)
您是否要将a
中的字符串关联与b
中的值相关联? IE名称price1
到b中的第一个元素?如果是这样,你想要一本字典:
d = {}
# i is the current position in a
# key is the value at that position
for i, key in enumerate(a):
d[key] = b[i]
你是否只想用b覆盖 b?它就像
一样简单 a[0]=b[0]
或
a = b
答案 2 :(得分:0)
不清楚你在寻找什么,怎么样:
>>> price1 = 10000
>>> price2 = 22222
>>> a = [price1, price2]
>>> b = [[108455, 106406, 103666, 101408, 98830], [3926, 4095, 426]]
>>>
>>> merged_ab = {a_item: b_item for a_item, b_item in zip(a,b)}
>>> merged_ab
{10000: [108455, 106406, 103666, 101408, 98830], 22222: [3926, 4095, 426]}
>>>
实际上,zip()
单独执行此操作而没有键控。
>>> zip(a,b)
[(10000, [108455, 106406, 103666, 101408, 98830]), (22222, [3926, 4095, 426])]