擅长:python、mysql、java
<h2>列表列表</h2>
<pre><code>df.users.map(
lambda s: [x.split('|') for x in s.split(', ')]
)
0 [[str1, str2], [str3, str4]]
Name: users, dtype: object
</code></pre>
<hr/>
<h2>使用f字符串的词典</h2>
<pre><code>df.users.map(
lambda s: [
{f'field{i}': v for i, v in enumerate(x.split('|'), 1)}
for x in s.split(', ')
]
)
0 [{'field1': 'str1', 'field2': 'str2'}, {'field...
Name: users, dtype: object
</code></pre>
<hr/>
<h2>具有预先确定的字段</h2>
<pre><code>fields = 'field1 field2 field3 field4'.split()
df.users.map(
lambda s: [dict(zip(fields, x.split('|'))) for x in s.split(', ')]
)
0 [{'field1': 'str1', 'field2': 'str2'}, {'field...
Name: users, dtype: object
</code></pre>
<h2>如果你想要所有字段</h2>
<pre><code>from itertools import zip_longest
fields = 'field1 field2 field3 field4'.split()
df.users.map(
lambda s: [dict(zip_longest(fields, x.split('|'))) for x in s.split(', ')]
)
</code></pre>