一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情。
0 环境
- 编辑器:idea
- 系统版本:win10
- python版本:3.9.6
1 列表长度
格式:len(列表)。
def other_demo():
a = [111,112,113,114,115,116,117]
print(len(a))
2 反转列表
格式:列表.reverse()。从下面列表的结果,可以看出来,只是将原列表的味道倒过来了,而返回值是一个None。
def other_demo():
a = [111,112,113,114,115,116,117]
b = a.reverse()
print("a ==>",a)
print("b ==>",b)
3 列表排序
格式为:列表.sort()。还是原列表修改,返回值为None。
def other_demo():
a = [111,118,113,114,120,116,117]
b = a.sort()
print("a ==>",a)
print("b ==>",b)
列表逆序排序,a.sort(reverse=True),注意:想逆序,需要在sort中添加reverse=True,这的True开头的T一定要是大写,不然会报错。
def other_demo():
a = [111,118,113,114,120,116,117]
b = a.sort()
print("a ==>",a)
print("b ==>",b)
b = a.sort(reverse=True)
print("a ==>",a)
print("b ==>",b)
4 列表拷贝
将列表赋给其他对象。可以看出,a1被修改了,然后a我也没操作,但是a随着a1的修改而变化,这种赋值操作是引用传递,也称浅复制或浅拷贝。属于一荣俱荣,一损俱损。
def copy_demo():
a = [1,2,3,4,5,6,7,8]
a1 = a
print("a1 ==>", a1)
a1[1] = 12
print("a1 ==>", a1)
print("a ==>", a)
5 总结
还有一个影子拷贝、深拷贝比较重要,单独拿出来写。总结这次所学的,求取列表的长度,可用于判断,循环中使用。反转列表用的不多,知道即可,反转大意就是反过来转。排序sort中括号为空,正常的正序排序,若是sort中有reverse=True(T要大写),反转排序,这里的sort属于简单用用的那种,复杂的那种不建议用它。还有无论排序还反转列表,他们都是修改原列表,返回值为 None。然后是列表的拷贝,这个很容易用出问题,比如列表拷贝,可能我原来的目的,只是复制一份列表给他使用,但不改变我原来的列表,你没有用列表.copy(),而是直接赋值,那么效果就是原列表也会跟着被修改的,你可以看成合租厨房,两个人都可以修改,不是你先住进来,它后进来就有限制的,共同所有,也就说引用传递考虑清楚了,你也可以叫它浅复制。