Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对嵌套元组列表的特定元素使用正则表达式_Python_Regex - Fatal编程技术网

Python 对嵌套元组列表的特定元素使用正则表达式

Python 对嵌套元组列表的特定元素使用正则表达式,python,regex,Python,Regex,我有嵌套的元组列表: ntl = [('h', '2019-11-12', 'l'), ('h', '2019-11-11', 'm'), ] 如您所见,每个元组中索引1处的条目都是日期。 我想删除数字之间的连字符。 像这样: date = [('h', '20191112', 'l'), ('h', '20191111', 'm'), ] 我试过这样的方法: date = [re.sub(r'-', '', i[1]) for i

我有嵌套的元组列表:

ntl = [('h', '2019-11-12', 'l'), 
       ('h', '2019-11-11', 'm'),
      ]
如您所见,每个元组中索引1处的条目都是日期。 我想删除数字之间的连字符。 像这样:

date = [('h', '20191112', 'l'), 
       ('h', '20191111', 'm'),
       ]
我试过这样的方法:

date = [re.sub(r'-', '', i[1]) for i in ntp]
但这只输出日期条目,而不输出其他两个元组条目


有人能帮忙吗?

这样对你合适吗

日期=[i[0],关于子项'-',i[1],i[2]表示ntp中的i] >>>[h',20191112',l',h',20191111',m']
像这样的东西对你合适吗

日期=[i[0],关于子项'-',i[1],i[2]表示ntp中的i] >>>[h',20191112',l',h',20191111',m']
拆包的方式不同吗

[(i, re.sub(r'-', '', j), k) for i,j,k in ntl]

[h',20191112',l',h',20191111',m']

解包方式不同吗

[(i, re.sub(r'-', '', j), k) for i,j,k in ntl]

['h','20191112','l','h','20191111','m']

您只需要更明确地构建元组列表:

date = [ (i[0], re.sub(r'-', '', i[1], i[2]) for i in ntp] 

您只需要更明确地构建元组列表:

date = [ (i[0], re.sub(r'-', '', i[1], i[2]) for i in ntp] 
不必使用re.sub,您可以拆分日期字符串并重新联接:

日期=[a、.joinb.split'-',c表示ntl中的a、b、c] 不必使用re.sub,您可以拆分日期字符串并重新联接:

日期=[a、.joinb.split'-',c表示ntl中的a、b、c] 您可以使用字符串替换方法代替re.sub:

您可以使用字符串替换方法代替re.sub:


或者使用str.replace删除'-':date=[a,b.replace'-',c代表ntl中的a,b,c]@Paul potato-xd,或者使用str.replace删除'-':date=[a,b.replace'-',c代表ntl中的a,b,c]@Paul potato-xd,但这只输出日期条目,而不输出其他两个元组条目。这是意料之中的,不是吗?您的列表理解只包含re.subr'-',i[1]。但这只输出日期条目,而不输出其他两个元组条目。这是意料之中的,不是吗?您的列表理解仅包含re.subr'-',i[1]。