繁体   English   中英

通过在 python 中删除换行符并删除第一个和最后一个字符,将列表中的字符串转换为列表

[英]Convert a string inside a list to a list by removing newline character and removing first and last character, in python

我有一个列表,我试图将其转换为字典:

temp_list = ['ads_sm\nActive an hour ago\n3,416,227\nm_sg13\nActive a day ago\n0']

在删除所有\n字符并用逗号替换它并在开始和结束时删除所有 ' 字符后,我需要将其转换为更清晰的列表,以便我可以将其保存为字典

temp_list = [ads_sm,Active an hour ago,3,416,227,m_sg13,Active a day ago,0]

字典应如下所示:

{'ads_sm': 'Active an hour ago ', 'm_sg13': 'Active an hour ago'}

到目前为止,我的代码是,这给了我一个空字典

temp_list = ['ads_sm\nActive an hour ago\n3,416,227\nm_sg13\nActive a day ago\n0']
words = [w.replace('\n', ',') for w in temp_list]
status_dictionary = dict(zip(words[::4], words[1::4]))
print(status_dictionary)

这可能是一种方式:

temp_list = ['ads_sm\nActive an hour ago\n3,416,227\nm_sg13\nActive a day ago\n0']
splitedlist=[val for val in temp_list[0].splitlines() if not all(i.isdigit() for i in val.replace(',',''))]
dct={k:val for k,val in zip(splitedlist[::2],splitedlist[1::2])} 
#Same as dict(zip(splitedlist[::2],splitedlist[1::2]))

Output

dct
{'ads_sm': 'Active an hour ago', 'm_sg13': 'Active a day ago'}

这对你有用吗?

temp_list = ['ads_sm\nActive an hour ago\n3,416,227\nm_sg13\nActive a day ago\n0']
sp_list = temp_list[0].split("\n")
x = zip(sp_list[0::2], sp_list[1::2])
print(dict(x))

Output:

{'ads_sm': 'Active an hour ago', '3,416,227': 'm_sg13', 'Active a day ago': '0'}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM