回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在用Python2.7。我想删除列表中每个列表中的非字母字符,而不修改列表的结构。在</p>
<p>起始列表示例:</p>
<pre><code>csvarticles = [['[Beta-blockers]', 'Magic!', '1980', 'Presse medicale'],['Hypertension in the pregnant woman].', '', '2010', 'Medical'],['Arterial hypertension.', '', '1920', 'La Nouvelle']]
print (csvarticles[0])
</code></pre>
<p>期望输出:</p>
<blockquote>
<p>[['beta blockers', 'magic', '1980', 'presse medicale'],['hypertension in the pregnant woman', '', '2010', 'medical'],['arterial hypertension', '', '1920', 'la nouvelle']]</p>
</blockquote>
<p>代码1:</p>
^{pr2}$
<p>代码1输出:</p>
<blockquote>
<p>['[Beta-blockers]', 'Magic!', '1980', 'Presse medicale']
[['[beta-blockers]'], ['magic!'], ['1980'], ['presse', 'medicale']]</p>
</blockquote>
<p>代码2:</p>
<pre><code>csvarticles = [[word.lower().split() for word in nodeList if word.isalpha()] for nodeList in csvarticles]
</code></pre>
<p>代码2输出:</p>
<blockquote>
<p>[]</p>
</blockquote>
<p>代码3:</p>
<pre><code>articleTitle = []
for x, y in enumerate(csvarticles):
myString = simpleWords(csvarticles[x][0])
if myString is not '':
myString = myString.lower()
myString = re.sub('[\W_]+', ' ', myString, flags=re.UNICODE)
myList = [word for word in myString.split() if len(word) > 3]
articleTitle = ' '.join(myList)
</code></pre>
<p>代码3输出:</p>
<blockquote>
<p>['beta blockers', 'magic', '1980', 'presse medicale', 'hypertension pregnant woman', '2010', 'medical', 'arterial hypertension', '1920', 'nouvelle']</p>
</blockquote>
<p>代码3接近,但消除了嵌套列表的结构。在</p>