Я хотел бы знать, как напечатать имя, соответствующее количеству значений в списке, например: у меня есть список со строками:
[['Alice', 'Bob', 'Charlie'], [a = 2, b = 4, c = 3], [a = 8, b = 1, c = 2], [a= 3, b = 5, c= 5]]
, и у меня есть оператор if в моем коде который проверяет, есть ли какое-то число в этом списке
, например:
пользовательские вводы: a = 2
, затем b = 4
, затем c = 3
Я хочу : в конце мой код выведет "Алиса", потому что те значения, которые соответствуют Алисе в списке
, сейчас он печатает 'yessir' в качестве заполнителя для имени
Примечание: a, b, c - комментарии, добавленные для пояснения
мой код:
from sys import argv, exit
import csv
import re
import pandas as pd
argc = len(argv)
if argc != 3:
print("Invalid file(s)")
exit(1)
file = open(argv[1] , "r")
file1 = open(argv[2] , "r")
text = file1.read()
strl = []
column = []
with file:
csv = csv.reader(file,delimiter=",")
for row in csv:
strl = row[1:9]
break
df = pd.read_csv(argv[1])
data_list = df.T.values.tolist()
for g in range(len(strl)):
pattern = re.compile('(%s)'%strl[g])
res = pattern.findall(text)
repeats = len(res)
intm = repeats
pattern = re.compile('(%s)+'%strl[g])
res = pattern.findall(text)
repeats = len(res)
intg=repeats - 1
number = intm - intg
if number in data_list[g+1]:
continue
else:
print("No match")
exit(1)
print("yessir")