在Python中,如何减去两个非唯一的无序列表?假设我们有a = [0,1,2,1,0]和b = [0, 1, 1]我想这样做c = a - b,并有c成为[2, 0]或[0, 2]顺序并不重要,对我来说.如果a不包含b中的所有元素,则应抛出异常.
请注意,这与套装不同!我对找到a和b中元素集的区别不感兴趣,我对a和b中元素的实际集合之间的差异感兴趣.
我可以用for循环来做这个,在a中查找b的第一个元素,然后从a中删除元素,然后从a中删除等等.但这对我没有吸引力,它会非常低效(O(n^2)时间顺序)虽然及时做到这一点应该没问题O(n log n).
我有三个列表:
z1 = ['A', 'A', 'B', 'B']
z2 = ['k1', 'k2', 'k1', 'k2']
z3 = ['v1', 'v2', 'v3', 'v4']
Run Code Online (Sandbox Code Playgroud)
当我写:
print(dict(zip(z2, z3)))
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
{'k2': 'v4', 'k1': 'v3'}
Run Code Online (Sandbox Code Playgroud)
我希望这个:
{'A':{'k1': 'v1', 'k2': 'v2'} , 'B':{'k1': 'v3', 'k2': 'v4'}}
Run Code Online (Sandbox Code Playgroud)
你能告诉我怎样才能得到预期的结果?
我有一个列表如下:
input1 = ['XS','S', 'M', 'L', 'XL', 'XXL', 'XXXL']
input2 = ['XS', 'S', 'M', 'L', 'XL', 'XS', 'S']
input3 = ['XS', 'S', 'M', 'L', 'S]
input4 = ['XS', 'S', 'M', 'L', 'XS', 'L']
Run Code Online (Sandbox Code Playgroud)
等等。
如您所见,列表元素每次都会改变。我想知道如何每次找到最大的元素。
标准清单是这样的:
['XS','S', 'M', 'L', 'XL', 'XXL', 'XXXL']
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
lst1 = {k:v for k, v in enumerate(['XS', 'S', 'M', 'L','XL','XXL', 'XXXL'])}
lst2 = ['XS', 'S', 'M', 'L', 'XL', 'XS', 'S']
tem = []
for i in lst2:
for k,v in list(lst1.items()):
if i == v:
tem.append(k) …Run Code Online (Sandbox Code Playgroud) 我想隐藏一个电子邮件地址,但不知道如何得到期望的答案。例如,我想看到hello@gmail.comas xxxxx@xxxxx.xxx
和barakobama@me.coasxxxxxxxxxx@xx.xx
到目前为止,这是代码:
content = re.sub(r'.+(?=@.+?)', "xxxxx", email)
print(content)
Run Code Online (Sandbox Code Playgroud)
但是输出是:
xxxxx@gmail.com
但我期望:
xxxxx@xxxxx.xxx
我不被迫使用正则表达式!任何帮助,将不胜感激
在 view.py 中,我尝试拆分一个长字符串的属性值。在正常查询中:
someposts = Posts.object.all()[3:5]
Run Code Online (Sandbox Code Playgroud)
应该返回:
<QuerySet [object<first post>, object<second post>]>
Run Code Online (Sandbox Code Playgroud)
然后我按如下方式查询帖子,因为我需要拆分属性值(在此更改之后我收到错误):
someposts = Posts.object.all().values('id', 'title', 'tags')[3:5]
Run Code Online (Sandbox Code Playgroud)
所以它返回类似:
<QuerySet [{'id': 2, 'title': 'first post', 'tags': ' X1, X2, X3,.., X10'}, {'id': 4, 'title': 'second post', 'tags': ' S1, S2, S3,.., S8'}]
Run Code Online (Sandbox Code Playgroud)
但我希望收到tags一份叮咬清单,所以我做了什么:
splited_tags = [v['tags'].split(',') for v in someposts]
for n, i in enumerate(someposts):
someposts[n]['tags'] = splited_tags[n]
Run Code Online (Sandbox Code Playgroud)
结果
<QuerySet [{'id': 2, 'title': 'first post', 'tags': [' X1', 'X2', 'X3',.., X10']}, {'id': 4, 'title': 'second post', 'tags': [' …Run Code Online (Sandbox Code Playgroud)