1
我正在使用如下所示的列表生成器。我想知道如何將不同的文本或值分配給各個列表生成器。在示例代碼中,我只能一次爲所有列表生成器分配值。例如,我想爲v
,row1[3]="value 1"
分配k
,row1[3]="value 2"
和m
,row1[3]="value 3".
我該如何實現這個目標?將不同的值分配給列表生成器結果
v = (item for item in propadd if item[0]==row1[8] and harversine(custx,custy,item[2],item[3])<1500)
k = (item for item in custadd if item[0]==row1[4])
m = (item for item in numlist if re.search(r"^[0-9]+(?=\s)",row1[0]) is not None and item[0]==re.search(r"^[0-9]+(?=\s)",row1[0]).group())
for gen in (v, k, m):
l = list(gen)
if len(l) == 1:
row1[1] = l[0][1]
row1[2] = l[0][2]
break
這工作完美,並顯着提高性能。謝謝!! – ketar
你最終使用了哪一個? –
兩者的速度似乎差不多,所以我隨字典一起去了,因爲我對它更熟悉,如果需要,我可以更容易地分配更多不同的值。 – ketar