我想转换这种格式:
['1', '1', ',', 'V', 'e', 'r', 'n', 'a', ' ', 'F', 'r', 'a', 'n', 'k', 'l', 'i', 'n', ',', 'v', '.', 'f', 'r', 'a', 'n', 'k', 'l', 'i', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', ',', '1']
转换为这种格式:
[11, Verna Franklin, v.franklin@gmail.com, 1]
答案 0 :(得分:2)
s = ['1', '1', ',', 'V', 'e', 'r', 'n', 'a', ' ', 'F', 'r', 'a', 'n', 'k', 'l', 'i', 'n', ',', 'v', '.', 'f', 'r', 'a', 'n', 'k', 'l', 'i', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', ',', '1']
s = ''.join(s)
s.split(',')
答案 1 :(得分:0)
这会将字符列表转换为标准的python整数和字符串列表:
from ast import literal_eval
s = ['1', '1', ',', 'V', 'e', 'r', 'n', 'a', ' ', 'F', 'r', 'a', 'n', 'k', 'l', 'i', 'n', ',', 'v', '.', 'f', 'r', 'a', 'n', 'k', 'l', 'i', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', ',', '1']
n = "["
for i in f"{''.join(s)}".split(','):
if i.isnumeric():
n += f"{i}, "
else:
n += f'"{i}", '
n += "]"
n = literal_eval(n)
print(n)
打印:
[11, 'Verna Franklin', 'v.franklin@gmail.com', 1]
答案 2 :(得分:0)
您可以使用itertools.groupby
:
import itertools
s = ['1', '1', ',', 'V', 'e', 'r', 'n', 'a', ' ', 'F', 'r', 'a', 'n', 'k', 'l', 'i', 'n', ',', 'v', '.', 'f', 'r', 'a', 'n', 'k', 'l', 'i', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', ',', '1']
final_s = [''.join(b) for a, b in itertools.groupby(s, key=lambda x:x==',') if not a]
输出:
['11', 'Verna Franklin', 'v.franklin@gmail.com', '1']