Я пытаюсь совместить объекты в списке, основываясь на их позициях в списке. Позиция в списке всегда одинакова для конкретного CSV, но зависит от клиента.Python - Соответствующие объекты на основе позиции списка
У меня есть словарь, который содержит 5 клиентов и столбец в CSV, где содержатся данные:
d = {'Client1':{
'file1DataPositions':[1,3,5,6,9],
'file2DataPositions':[2,4,5,7,8]},
'Client2':{
'file1DataPositions':[3,4,5,6,7],
'file2DataPositions':[1,5,7,8,9]},
'Client3':{
'file1DataPositions':[2,6,7,8,9],
'file2DataPositions':[1,2,7,8,9]},
'Client4':{
'file1DataPositions':[2,3,4,6,6],
'file2DataPositions':[1,3,5,7,9]},
'Client5':{
'file1DataPositions':[2,4,6,8,9],
'file2DataPositions':[5,6,7,8,9]}
}
У меня есть заполненный, встроенный список (разобрано CSV):
l = [['data1','123','ABC','CompanyName','Employee1','15','123 Notareallstreet','Bobs Trucks','Newyork'],
['data2','456','DEF','CompanyName','Employee2','15','123 Notareallstreet','Bobs Trucks','Newyork'],
['data3','789','GHI','CompanyName','Employee3','15','123 Notareallstreet','Bobs Trucks','Newyork'],
['data4','012','JKL','CompanyName','Employee4','15','123 Notareallstreet','Bobs Trucks','Newyork']]
Основываясь на позиции индекса в списке встроенных, я хотел бы проверить, если индекс соответствует:
def iterationTest():
for item in l:
for lis in item:
if lis.index() == d['Client1']['file1DataPositions']:
print('Match Found')
iterationTest()
Когда я запускаю это, я получаю: «index() принимает хотя бы 1 аргумент (0 данных)».
Есть ли правильный способ делать то, что я пытаюсь сделать?
'если lis.index()', что вы проверить здесь? Какой индекс? –
Метод ['index()'] (https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range) списка требует по крайней мере одного аргумента - значение элемента, чтобы найти индекс первого вхождения. – martineau
Вы пытаетесь проверить, является ли 'index'' lis' 'in'' d ['Client1'] ['file1DataPositions'] ', например, в списке' [1,3,5,6,9] '? – gtlambert