学习《python编程从入门到实践》笔记 埃里克.马瑟斯
删除变量
my_friend.remove(“zhang”)
remove
可以用于删除指定变量,但是只能删除文件中的第一个变量,若要将列表中的该变量全部清除,要使用循环
my_friends=["susan","hui","wei","zong","zhang","zhang"]
boyfriend="zhang"
my_friends.remove(boyfriend)
print(my_friends)
print(boyfriend)
result:
[‘susan’, ‘hui’, ‘wei’, ‘zong’, ‘zhang’]
zhang
只删除了列表中的第一个zhang
my_friend.pop(3)
删除元素,默认删除最后一个元素,括号内加入的是元素所在位置
而且删除的元素可以继续使用,存在你设置的变量中
my_friends=["susan","hui","wei","zong","zhang","zhang"]
massage=f"My dear friend {
my_friends[1]}"
pop_friend=my_friends.pop()
print(f"{
pop_friend} is not my friend, because {
pop_friend} became my boyfriend.")
print(massage)
del my_friend[3]
删除元素,括号内加入的是元素所在位置
排序
liat_name.sort(reverse=True)
将整个list的顺序改变,按照字母顺序排列
reverse=True
代表按照反向顺序排列,正序是删除
sorted(list_name,reverse=True)
注意:sorted
只是临时改变列表的顺序,实际列表中元素顺序并未改变
range()
for value in range(1,5):
print(value)
1
2
3
4
range(1,5)
:从1开始,到5停止,但是 不包含5,只能打出 1~(5-1)范围内的整数
range(6)
:从0开始,到6停止,打出的是0,1,2,3,4,5
用range直接创建列表
number=list(range(6))
print(number)
指定步长 range(开始,停止,步长)
number=list(range(1,11,2))
print(number)
列表解析
先看一个案例:要求将1~10中的整数的平方放入一个新的列表
常规写法:
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
用列表解析来写:
用来存放变量的列表名称
(最后输出的列表)=[表达式
(变量运算的表达式) 循环
(给表达式提供值)]
squares2=[value2**2 for value2 in range(1,11)]
print(squares2)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
切片
[第一个元素索引
:最后一个元素索引
]
注意: 和range
一样,这里不包含最后一个索引对应的元素
my_friends=["susan","zhang","zong","wei","hui"]
print(my_friends[1:3])
[‘zhang’, ‘zong’]
几个特例
[:
最后一个元素索引
] 代表从头开始,知道最后一个元素索引
[第一个元素索引
:
]代表从第一个元素索引开始一直检索到最后
[-3
:
]代表检索最后三个元素
复制列表
friend_foods=my_foods[:]
表示复制里面的全部内容
my_foods=["apple","ice cream","banana"]
friend_foods=my_foods[:]###复制列表里的内容,而不产生关联!!!!
my_foods.append("cake")
friend_foods.append("milk")
print(my_foods)
print(friend_foods)
[‘apple’, ‘ice cream’, ‘banana’, ‘cake’]
[‘apple’, ‘ice cream’, ‘banana’, ‘milk’]
元组:特殊的列表(变量不可改)
- 定义方式
dimensions=(20,300)
用圆括号
如果定义的元组只含一个元素,也要加逗号dimensions=(20,)
- 变量不可修改
dimensions[0]=30
会报错 - 但是可以整个元组重新被定义
dimensions=(20,300)
print("original:",dimensions[0])
dimensions=(30,400)
print("modified:",dimensions[0])
original: 20
modified: 30