擅长:python、mysql、java
<p>您可以在读取文件时一次性完成:</p>
<pre><code>import csv
with open("sport.csv") as f:
mx, best = float("-inf"), None
for row in csv.reader(f, delimiter=" ", skipinitialspace=1):
row[1:] = row[1].split("|")
if "Baseball" in row and len(row[1:]) > 2 and int(row[0]) > mx:
mx = int(row[0])
best = row
if best:
print(best, mx, len(row[1:]))
</code></pre>
<p>这会给你:</p>
<pre><code>(['61', 'Basketball', 'Baseball', 'Ballet'], 61, 3)
</code></pre>
<p>另一种不拆分的方法是计算管道字符:</p>
<pre><code>import csv
with open("sports.csv") as f:
mx, best = float("-inf"),None
for row in csv.reader(f, delimiter=" ", skipinitialspace=1):
print(row[1])
if "Baseball" in row[1] and row[1].count("|") > 1 and int(row[0]) > mx:
mx = int(row[0])
best = row
if best:
print(best, mx, row[1].count("|"))
</code></pre>
<p>这意味着尽管一个子串可能与一个确切的词相匹配。你知道吗</p>