[英]How can i remove every character before a specific character in a tuple of lists of strings in Python
我有一个看起来像这样的字符串列表元组
myList = ['https://wwww.example.com/watch/random-video-12'], ['https://wwww.example.com/watch/random-video-t-14'], ['https://www.example.com/watch/random-video-longest-1']
我需要删除最后一个“-”字符和之前的每个字符。
result = []
for url in myList:
result.append(url[0].split('-')[-1])
print(result)
输出:
['12', '14', '1']
说明:
url
是一个具有单个元素url[0]
的列表。 在该字符串上应用split('-')
将字符串拆分为用“-”分隔的字符串列表。
即: 'https://wwww.example.com/watch/random-video-12'.split('-') -> ['https://wwww.example.com/watch/random', 'video', '12']
。
最后list[-1]
给出list
的最后一个元素
变量myList不是其名称所暗示的列表。 它实际上是一个列表元组,其中每个列表只包含一个元素。 所以:
myList = ['https://wwww.example.com/watch/randomvideo-12'], ['https://wwww.example.com/watch/random-video-t-14'], ['https://www.example.com/watch/random-video-longest-1']
for list_ in myList:
for url in list_:
if len(t := url.split('-')) > 1:
print(t[-1])
Output:
12
14
1
笔记:
内部for循环对于这些数据实际上不是必需的,但可以允许扩展列表
而不是使用str.split
您可以使用str.rsplit
并在理解中完成所有操作:
[url[0].rsplit('-', 1)[1] for urls in myList if '-' in url[0])]
['12', '14', '1']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.