【发布时间】:2020-08-06 12:31:42
【问题描述】:
我想知道如何打印与列表中的多个值对应的名称 例如: 我有一个行列表:
[['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
我想要的是:最后,我的代码将输出“Alice”导致列表中与 Alice 对应的值
现在它会打印 'yessir' 作为名称的占位符
注意:a,b,c 是为澄清而添加的 cmets
我的代码:
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")
【问题讨论】:
标签: python python-3.x list csv