-
排序函数sorted(待排序容器,key,是否倒序)
返回值为新的已排序容器。
在Python中,_(下划线)经常被用作一个“不关心的”或“临时”变量的占位符。在列表推导式或解构操作中,当你不关心某个特定值,但你又需要使用它来完成操作(例如,在zip解包中),你可以使用_来忽略该值。
在你提供的代码片段中:
python[item for _, item in sorted(zip(list2, list1), key=lambda x: x[0])]
zip(list2, list1)会将list2和list1中的元素配对成元组,然后这些元组被sorted函数排序。排序的key是一个lambda函数,它返回元组的第一个元素(即list2中的元素),用于排序。
在列表推导式中,_用于忽略元组的第一个元素(即list2中的元素),而item则捕获元组的第二个元素(即list1中的元素)。因此,列表推导式只关心list1中元素的排序顺序,而不关心list2中元素的排序顺序。
这样写代码的好处是代码更加清晰,表明开发者不关心list2中元素的排序结果,只关心list1中元素的排序结果。同时,这也避免了创建一个不必要的变量来存储不需要的值。
查看全部 -
ord()函数能获取字符的Unicode编码
查看全部 -
tmp = L是起别名,操作tmp中元素时,L中元素同样发生变化。
# 创建原始列表的临时副本temporary_list = original_list[:] # 或者使用 list(original_list)
# 使用列表推导式创建临时列表temporary_list = [item for item in original_list]
查看全部 -
1、获取元素对应列表中的下标用enumerate函数
具体操作for index, element in enumerate(my_list):
2、列表名.remove(元素)可以删除列表中的元素
查看全部 -
在for循环中,for-in是一个组合,用于遍历序列、列表、字符串等可迭代对象中的元素
其他时候in是个判断操作符,判断in前的变量是否在容器中
查看全部 -
条件后加“:”,表示一下是分支代码块
分支代码块,要用4个空格缩进
查看全部 -
半闭半开区间,不包含最后的字符
查看全部 -
没有++运算符
查看全部 -
+=使用前,先得将操作符左边变量初始化,因为它既是得数,也是操作数
查看全部 -
format(传入参数个数不能缺省)
得到的是返回值(形式参数)
实际template不改变
查看全部 -
def my_abs(func):
if isinstance(func, int):
x=0
for x in func:
x=x+x
return x
if isinstance(func,tuple):
y=1
for y in func:
y=y*y
return y查看全部 -
>>> a='python'
>>> print('hello,',a or 'world')
hello, python
解释:短路运算 a or 'world',a为True结果一定为True,直接返回a
>>> b=''
>>> print('hello,',b or 'world')
hello, world
解释:python讲空字符串看作False,b or 'world',b为False,结果取决于'world',直接返回‘world’查看全部 -
l = [n**2 for n in range(1,101)] print(sum(l))
查看全部 -
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
if not s1.isdisjoint(s2):
print(s1.intersection(s2))查看全部 -
# Enter a code
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
S = set([1, 3, 5, 7, 9, 11])
for item in L:
if item in S:
S.remove(item)
else:
S.add(item)
print(S)查看全部
举报