列表与元组

python列表学习笔记

1.什么是列表

1)列表是由一系列按特定顺序排序的元素组成,名称一般为复数。(由方括号表示**[]**)

2)python中将不能修改的值称为不可变值,不可变的列表称为元组(由圆括号表示**()**)。

>>>bicycles = ['trek', 'cannondale', 'redline']
>>>print(bicycles)
>>>print(bicycles[0])
['trek', 'cannondale', 'redline']
trek

注:列表索引从0开始,倒数第一位可用-1表示

2.列表中元素修改

>>>bicycles[0] = '待修改元素‘

3.添加元素

3.1 尾部添加

>>>bicycles.append('添加元素')
>>>bicycles.insert(-1, '待添加元素')

3.2 任意位置插入
bicycles.insert(X, '待插入元素') x索引位置,即有元素位置右移

4.删除元素

4.1 要删除元素位置已知,且后续不再使用该值

del bicycles[0]

4.2 要删除元素位置未知,且后续可以使用该值,有多个待删元素时,只可以删除一个值

one = '待删除'
bicycles.removw(one)

在这里插入图片描述
4.3 pop()删除元素

>>>popped_bicycle = bicycles.pop()
>print(popped_bicycle)
>print(bicycles)
redline
['trek', 'cannondale']

注:bicycles.pop(0),括号里填写索引位置,可以弹出该位置元素值,并在列表中删除,该方法后续还可以使用弹出值

5.列表排序

5.1 sort()永久性排序
sort()以字母顺序排序,sort(reverse = true)字母逆序排序。

>>>bicycles = ['trek', 'cannondale', 'redline']
**#字母顺序**
>>>bicycles.sort()
>>>print(bicycles)```
['cannondale', 'redline', 'trek']
#字母逆序
>>>bicycles.sort(reverse=True)
>>>print(bicycles)
['trek', 'redline', 'cannondale' ]          

5.2sorted()临时排序

bicycles = ['trek', 'cannondale', 'redline']
#字母顺序
>>>print(sorted(bicycles))
>>>print(bicycles)
['cannondale', 'redline', 'trek']
['trek', 'cannondale', 'redline']
#字母逆序
>>>print(sorted(bicycles, reverse=True))
>>>print(bicycles)
['trek', 'redline', 'cannondale' ] 
['trek', 'cannondale', 'redline']

5.3 列表逆序排列reverse()(永久性)
注:reverse()逆序是指与列表顺序相反,len()可以读出列表长度。

>>>print(bicycles)
>>>bicycles.reverse()
>>>print(bicycles)
>>>print(len(bicycles))
['trek', 'cannondale', 'redline']
['redline', 'cannondale','trek']
4

6.列表操作

6.1 遍历列表

my_foods = ['pizza', 'falafel', 'carrot cake']
for my_food in my_foods:
    print(my_food)
#遍历元组同理

6.2 创建数字列表
1)可以利用list()函数直接将range()函数生成的值组成列表

number = list(range(1,6))
print(number)
even_number = list(range(2,7,2))
print(even_number)
[1,2,3,4,5]
[2,4,6]

2)创建一个1-10整数平方的列表

squares = []
for value in range(1,11):
    squares.append(value**2)
print(squares)
#等价于
squares = [value**2 for value in range(1,11)]
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3)常用函数
max(), min(), sum()

letter = ['d', 'b', 'a', 'f', 'd', 'u']
print(max(letter))
print(min(letter))

6.3 列表切片
1)列表切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
#取列表前三位元素
['charles', 'martina', 'michael']

注:切片与range()函数一样,在到达第二个索引元素前停止,索引为[0:3]时,取0,1,2为索引的前三个元素
2)遍历切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[:3]
    print(player)
charles
martina
michael

注:[:3]前索引数字不填时,默认为从0开始;[3:]后索引数字不填时,默认取到最后以为元素,即从第三个元素到最后一个元素都取上;[ : ]等价于取所有元素。

6.4 复制列表
1)复制列表语句
list2 = [1, 2, 3, 4, 5]
方法一: list_1 = list_2[:]
方法二: list_1 = list_2.copy()

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print(my_foods)
print(friend_foods)
my_foods.append('ice cream')
friend_foods.append('cannoli')
print(my_foods)
print(friend_foods)
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake', 'ice cream']
['pizza', 'falafel', 'carrot cake', 'cannoli']

1)赋值语句
list_1 = list_2

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods
print(my_foods)
print(friend_foods)
my_foods.append('ice cream')
friend_foods.append('cannoli')
print(my_foods)
print(friend_foods)
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake']
['pizza', 'falafel', 'carrot cake', 'ice cream', 'cannoli']
['pizza', 'falafel', 'carrot cake', 'ice cream', 'cannoli']

补充
在这里插入图片描述
1)count(‘元素’)
统计列表中某个元素出现的次数
2)index(‘元素’)
查找某个元素在列表首次出现的位置(索引)

letter = ['d', 'b', 'a', 'f', 'd', 'u']
print(letter.index('u'))
print(letter.index('d'))
print(letter.count('d'))
5
0
2

7.什么是列表

7.1 元组

python中将不能修改的值称为不可变值,不可变的列表称为元组(由圆括号表示**()**)。

7.2 遍历元组
与列表操作一致

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
for dimension in dimensions[0:1]:
    print(dimension)200
50
200

7.3 元组不可修改
1)删除整个元组

t = tuple(letter)
del t
print(t)
Name 't' can be not defined

2)列表转换成元组tuple(列表)

letter = ['d', 'b', 'a', 'f', 'd', 'u']
t = tuple(letter)
print(t)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值