列表中有一些类似于以下内容的字符串:
'Sep 10, 2020', '17:36', 'Kate'
我想将它们拆分为“ at”和“ |”。 我希望它类似于以下内容:
__add__
我尝试使用split函数,但是它只是在“ |”处分割字符串而不是“在”。
答案 0 :(得分:0)
为什么不一次用一个定界符呢?
请注意,凯特(Kate)的名称坚持使用“ at”,使“ at”定界符有点不合理的事实
list = ['Sep 10,2020 at 17:36 |凯特(Kate),“ 2020年9月10日,17:13 |查尔斯(Charles),“ 2020年9月10日16:00” |汤姆(Tom),2020年9月10日15:27 | Svetlana”,“ 2020年9月10日,13:38 |查尔斯(Charles),“ 2020年9月10日,12:46 | Irina”,“ 2020年9月10日,11:32 |罗恩,“ 2020年9月10日,晚上10:45 | Svetlana”,“ 2020年9月10日,09:33 | Svetlana”,“ 2020年9月9日,15:46 |凯特(Kate),“ 2020年9月9日at 14:02 | Svetlana”,“ 2020年9月9日,12:41 | Michael,“ 2020年9月9日,12:18 | Irina”,“ 2020年9月9日,11:13 | Svetlana”,“ 2020年9月9日,10:39 |查尔斯(Charles),“ 2020年9月9日at 09:34 | Arkadiusz Sieron”,“ 2020年9月8日,17:39 |查尔斯(Charles),“ 2020年9月8日,15:33 | Svetlana”,“ 2020年9月8日,13:38 | Irina”,“ 2020年9月8日,11:45 |查尔斯(Charles),“ 2020年9月8日,晚上10:27 | Irina”,“ 2020年9月8日,9:26 | Michael,“ 2020年9月8日,08:30 |凯特(Kate),“ 2020年9月7日在17:36 | Svetlana”,“ 2020年9月7日,17:01 |查尔斯(Charles),“ 2020年9月7日,14:23 | Svetlana”,“ 2020年9月7日,13:35 | Svetlana”,“ 2020年9月7日,13:12 | Michael,“ 2020年9月7日,11:57 |查尔斯(Charles),“ 2020年9月7日,晚上10:41 | Svetlana”,“ 2020年9月7日,09:35 |查尔斯(Charles),“ 2020年9月4日在16:45 | Svetlana”,“ 2020年9月4日,14:46 | Svetlana”,“ 2020年9月4日,11:41 |伊琳娜']
splitted = []
for item in list:
a = item.split("at")
for part in a:
splitted = splitted + part.split("|")
print(splitted)
输出: ['2020年9月10日,'17:36','K','e','2020年9月10日','17:13','查尔斯','2020年9月10日','16:00 ”,“汤姆”,“ 2020年9月10日”,“ 15:27”,“斯维特拉娜”,“ 2020年9月10日”,“ 13:38”,“查尔斯”,“ 2020年9月10日”,“ 12: 46','Irina','Sep 10,2020','11:32','Ron','Sep 10,2020','10:45','Svetlana','Sep 10,2020','09 :33','Svetlana','Sep 09,2020','15:46','K','e','Sep 09,2020','14:02','Svetlana','Sep 09, 2020','12:41','Michael','Sep 09,2020','12:18','Irina','Sep 09,2020','11:13','Svetlana','Sep 09 ,2020','10:39','Charles','Sep 09,2020','09:34','Arkadiusz Sieron','Sep 08,2020','17:39','Charles',' 2020年9月8日','15:33','斯韦特兰娜','2020年9月8日','13:38','伊琳娜','2020年9月8日','11:45','查尔斯', '2020年9月8日','10:27','伊琳娜','2020年9月8日','09:26','迈克尔','2020年9月8日','08:30','K' ,“ e”,“ 2020年9月7日”,“ 17:36”,“斯维特拉娜”,“ 2020年9月7日”,“ 17:01”,“查尔斯”,“ 2020年9月7日”,“ 14:23”,“斯维特拉娜”,“ 2020年9月7日”,“ 13:35”,“斯维特拉娜”,“ 2020年9月7日”,“ 13:12”,“迈克尔”, '2020年9月7日','11:57','查尔斯','2020年9月7日','10:41','斯维特拉娜','2020年9月7日','09:35','查尔斯' ,'2020年9月4日','16:45','Svetlana','2020年9月4日','14:46','Svetlana','2020年9月4日','11:41','伊琳娜']
答案 1 :(得分:0)
此代码接受string
的每个list
元素,并将at
替换为|
,然后将其拆分为|
,然后就地分配产生的字符串的子列表。
旁注:请勿使用list
作为变量名,因为它是语言的内置关键字。
lis = ['Sep 10, 2020 at 17:36 | Kate', 'Sep 10, 2020 at 17:13 | Charles']
lis = [string.replace(" at ", " | ").split(" | ") for string in lis]
print(lis)
输出:
[['Sep 10, 2020', '17:36', 'Kate'], ['Sep 10, 2020', '17:13', 'Charles']]
答案 2 :(得分:0)
应该可以
list=['Sep 10, 2020 at 17:36 | Kate', 'Sep 10, 2020 at 17:13 | Charles', 'Sep 10, 2020 at 16:00 | Tom', 'Sep 10, 2020 at 15:27 | Svetlana', 'Sep 10, 2020 at 13:38 | Charles', 'Sep 10, 2020 at 12:46 | Irina', 'Sep 10, 2020 at 11:32 | Ron ', 'Sep 10, 2020 at 10:45 | Svetlana', 'Sep 10, 2020 at 09:33 | Svetlana', 'Sep 09, 2020 at 15:46 | Kate', 'Sep 09, 2020 at 14:02 | Svetlana', 'Sep 09, 2020 at 12:41 | Michael', 'Sep 09, 2020 at 12:18 | Irina', 'Sep 09, 2020 at 11:13 | Svetlana', 'Sep 09, 2020 at 10:39 | Charles', 'Sep 09, 2020 at 09:34 | Arkadiusz Sieron', 'Sep 08, 2020 at 17:39 | Charles', 'Sep 08, 2020 at 15:33 | Svetlana', 'Sep 08, 2020 at 13:38 | Irina', 'Sep 08, 2020 at 11:45 | Charles', 'Sep 08, 2020 at 10:27 | Irina', 'Sep 08, 2020 at 09:26 | Michael', 'Sep 08, 2020 at 08:30 | Kate', 'Sep 07, 2020 at 17:36 | Svetlana', 'Sep 07, 2020 at 17:01 | Charles', 'Sep 07, 2020 at 14:23 | Svetlana', 'Sep 07, 2020 at 13:35 | Svetlana', 'Sep 07, 2020 at 13:12 | Michael', 'Sep 07, 2020 at 11:57 | Charles', 'Sep 07, 2020 at 10:41 | Svetlana', 'Sep 07, 2020 at 09:35 | Charles', 'Sep 04, 2020 at 16:45 | Svetlana', 'Sep 04, 2020 at 14:46 | Svetlana', 'Sep 04, 2020 at 11:41 | Irina']
rep_data = []
for i in list:
sp = i.split("at")
new_ = sp[0] + str(sp[1].replace(" | ", ""))
rep_data.append(new_)