我正在try 将定义在"<"和">"之间的元素位置随机化,例如. 从这个开始

<id:1 s= red> 
<id:2 s= blue> 
<id:3 s= green>

对此

<id:3 s= green> 
<id:1 s= red> 
<id:2 s= blue>   

我将它们放在一个列表中,但无法将随机列表与正则表达式结果进行匹配.以下是我到目前为止得到的信息:

import re
from random import shuffle

a = open('data.txt', 'r')
s= a.read()
x = re.findall(r'\<([^>]+)', s)
shuffle(x)
f = re.sub(r'\<([^>]+)', x[0], s)


print(f)

推荐答案

让你的try 奏效:

x = re.findall(r'(<[^>]+)', s)
shuffle(x)
f = re.sub(r'(<[^>]+)', lambda _: x.pop(), s)

我更喜欢这样做:

x = re.split(r'(<[^>]+)', s)
y = x[1::2]
shuffle(y)
x[1::2] = y
f = ''.join(x)

Try it online!

Python相关问答推荐

KNN分类器中的GridSearchCV

code _tkinter. Tcl错误:窗口路径名称错误.!按钮4"

如何让我的Tkinter应用程序适合整个窗口,无论大小如何?

如何在具有重复数据的pandas中对groupby进行总和,同时保留其他列

@Property方法上的inspect.getmembers出现意外行为,引发异常

比较两个数据帧并并排附加结果(获取性能警告)

如何将ctyles.POINTER(ctyles.c_float)转换为int?

try 在树叶 map 上应用覆盖磁贴

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

输出中带有南的亚麻神经网络

如何在Python脚本中附加一个Google tab(已经打开)

如何使用pytest来查看Python中是否存在class attribution属性?

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

Odoo 16使用NTFS使字段只读

如何在UserSerializer中添加显式字段?

如何在turtle中不使用write()来绘制填充字母(例如OEG)

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

导入错误:无法导入名称';操作';

Gekko中基于时间的间隔约束

无法在Spyder上的Pandas中将本地CSV转换为数据帧