サーバー タスクを表すファイルから行を読み取る必要があります。線はいくつかのペアで構成されており、そのうちのいくつかは複製されています。それらを解析し、重複を排除し、実行を改善するためにそれらを 2 つのグループに分割する必要があります。これは、アラインがどのように見えるかです:
'task1'->3124, 'task2'->7743, 'task1'->3124, 'task3'->3456, 'task4'->23984
取得したい:
task1 task2
task3 task4
私は Python (C の経験のみ) にかなり慣れていないため、自分のコードでより多くの Pythonic 関数を使用する方法を教えてください。これは私の現在のコードです(まだ不完全ですが、すでにエラーがあります):
def findgroups(s):
group=[]
n=[]
for i in range(len(s)):
group.append(s[i])
if s[i]==',':
n.append(group)
group=[]
return n
def finduniques(groups):
unique=[]
for i in range(len(groups)):
if groups.count(groups[i])==1:
unique.append(groups[i])
return unique
def makegroups(groups):
group1=[]
group2=[]
for i in range(len(groups)):
if i%2==0:
group1.append(groups[i])
if i%2==1:
group2.append(groups[i])
def printgroups(group1, group2):
for i in range(len(group1)):
for j in range(len(group2)):
if i==j:
print group1[0],group2[0]
line = "'task1'->3124, 'task2'->7743, 'task1'->3124, 'task3'->3456, 'task4'->23984"
groups = find_groups(line)
uniques = find_uniques(groups)
pairs = makegroups(uniques)
print printgroups(pairs)