Wie der Titel schon sagt. ** So erhalten Sie den Wert in der Spalte [Name] von B, wenn der Wert in der Liste (A) des eindimensionalen Arrays in der Spalte [ID] der Liste (B) des zweidimensionalen Arrays vorhanden ist. ** ** ** Das Obige habe ich beim Spielen mit der Slack-API gelernt und ich habe es unten zusammengefasst.
A.list
print(name_list)
['U012JDYRD2T', 'U012X478FNZ']
B.list #Es wurde geändert, um die Anzeige zu erleichtern.
print(data)
[['name', 'id'],
['Slackbot', 'USLACKBOT'],
['test_1', 'U012JDYRD2T'], #Ich will hier
['test_5', 'U012JDYSN07'],
['kita', 'U012X478FNZ'],#Ich will hier
['test_4', 'U012XQBE63X'],
['test_bot', 'U012YTNNPB5'],
['test_3', 'U012ZC8AQ8K'],
['tese_2', 'U013BQDLK6V']]
Erwartete Ergebnisse.py
print(result)
['test_1','kita']
1.py
result = []
for data_id in data:
if data_id[1] in name_list:
result.append(data_id[0])
(1) Für Schleifen "[Daten-ID in Daten]" werden Daten einzeln in Daten-ID gespeichert.
② [if data_id [1] in name_list]
ist eine Bedingung, dass die Spalte [id](data_id [1]) und die name_list übereinstimmen.
③ [result.append (data_id [0])]
fügt der Liste [result] die Spalte [name](data_id [0]) hinzu.
1.py
result = []
result = [data_id[0] for data_id in data if data_id[1] in name_list]
Die Theorie ist dieselbe wie Methode 1. Clever.
3.py
r = []
r2 = []
for i in data:
r = r + i
for i in name_list:
tmp = (r.index(i)) - 1
r2.append(r[tmp])
① Speichern Sie die Daten einzeln in r. Es wird als "[" Name "," ID "," Slackbot "," USLACKBOT "...] gespeichert. (2) Verwenden Sie die Tatsache, dass Name und ID in der richtigen Reihenfolge gespeichert sind. Mit anderen Worten, der vor "U012X478FNZ" ist "kita" und der vor "U012JDYRD2T" ist "test_1". ③ Daher ist in "[tmp = (r.index (i)) -1]" durch [-1] aus dem Index (Nummer) von "U012X478FNZ" der Index von "kita" unmittelbar bevor er erhalten wird. es kann. ④ Und der Wert des erworbenen Index wird zu [r2] addiert.
Sie müssen mehr über Schleifen und Bedingungen verstehen.
Recommended Posts