Comme le dit le titre. ** Comment obtenir la valeur de la colonne [nom] de B lorsque la valeur de la liste (A) du tableau unidimensionnel existe dans la colonne [ID] de la liste (B) du tableau bidimensionnel. ** ** Ce qui précède est ce que j'ai appris en jouant avec l'api slack, et je l'ai résumé ci-dessous.
A.list
print(name_list)
['U012JDYRD2T', 'U012X478FNZ']
B.list #Il a été modifié pour le rendre plus facile à voir.
print(data)
[['name', 'id'],
['Slackbot', 'USLACKBOT'],
['test_1', 'U012JDYRD2T'], #Je veux ici
['test_5', 'U012JDYSN07'],
['kita', 'U012X478FNZ'],#Je veux ici
['test_4', 'U012XQBE63X'],
['test_bot', 'U012YTNNPB5'],
['test_3', 'U012ZC8AQ8K'],
['tese_2', 'U013BQDLK6V']]
Résultats attendus.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) Pour les boucles «[data_id in data]», les données sont stockées dans data_id une par une.
② [if data_id [1] in name_list]
est une condition que la colonne [id](data_id [1]) et name_list correspondent.
③ [result.append (data_id [0])]
ajoute la colonne [name](data_id [0]) à la liste appelée [result]
1.py
result = []
result = [data_id[0] for data_id in data if data_id[1] in name_list]
La théorie est la même que la méthode 1. intelligent.
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])
① Stockez les données une par une dans r. Il est stocké sous les noms «['nom', 'id', 'Slackbot', 'USLACKBOT'…] '.
(2) Utilisez le fait que le nom et l'identifiant sont stockés dans l'ordre.
En d'autres termes, celui avant «" U012X478FNZ "» est «« kita »», et celui avant «« U012JDYRD2T »» est «« test_1 »».
③ Donc, dans [tmp = (r.index (i)) -1]
, par [-1] à partir de l'indice (numéro) de "U012X478FNZ", l'indice de "kita" immédiatement avant cela est obtenu. ça peut.
④ Et la valeur de l'indice acquis est ajoutée à [r2].
Vous devez en savoir plus sur les boucles et les conditions.
Recommended Posts