擅长:python、mysql、java
<p>从您的数据集来看,似乎只有名称可以包含<code>,</code>,其他名称不能,因此您可以使用<code>rsplit</code>函数从后面拆分,并为其指定参数<code>','</code>和<code>2</code>,这意味着使用逗号从后面拆分并在2个拆分处停止</p>
<p>示例-</p>
<pre><code>s = "James Earl Carter, Jr., 1977-1981, Democrat".rsplit(',',2)
print(s)
>> ['James Earl Carter, Jr.', ' 1977-1981', ' Democrat']
</code></pre>
<p>另外,如果对于<code>name</code>列表,条件是在没有<code>,</code>的情况下选择列表中的姓氏,或者如果有逗号,则选择第一个逗号之前的姓氏。一个简单的解决方案是使用“,”再次拆分名称列表,这一次正常的<code>split(',')</code>函数应该这样做,然后使用第一个元素(如果没有逗号,则只有一个元素),然后使用<code>split(' ') and then get the last element using</code>[-1]`index再次按空格拆分</p>
<p>示例-</p>
<pre><code>>>> n = 'James Earl Carter, Jr.'.split(',')[0].split(' ')[-1]
>>> print(n)
Carter
>>> m = 'Ronald Wilson Reagan'.split(',')[0].split(' ')[-1]
>>> print(m)
Reagan
</code></pre>