python——列表简介、操作列表

列表是什么?

列表由一系列按照特定顺序排列的元素组成。用方括号[]来表示列表,并用逗号来分隔其中的元素。

访问列表元素
  • 只需要把元素的位置或索引告诉python
  • 在python中,第一个列表元素的索引是0
  • python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,可以让python返回最后一个列表元素。 这种约定也适用于其他负数搜因,索引-2返回倒数第二个列表元素。
candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
print(candy[0])
输出:水果糖
print(candy[0] + candy[-1])
输出:水果糖棒棒糖
修改列表元素
candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
candy[0] = '口香糖'
print(candy[0] + candy[-1])
在列表中添加元素

1. 在列表末尾添加元素
使用append()方法,将元素在末尾添加

candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
candy.append('口香糖')
print(candy)
输出:
['水果糖', '牛奶糖', '棉花糖', '棒棒糖', '口香糖']

一个空列表,可以使用一系列append()语句添加元素

color=[]
color.append('red')
color.append('yellow')
color.append('pink')
print(color)

['red', 'yellow', 'pink']

2. 在列表中插入元素
使用insert()可以在列表的任何位置添加新的元素。只需要指定新元素的索引和值。
color.insert(1,‘black’)

color=[]
color.append('red')
color.append('yellow')
color.append('pink')
color.insert(1,'black')
print(color)
从列表中删除元素

1.使用del语句删除元素

  • 如果知道要删除的元素在列表中的位置,用del语句

del color[0]

color=[]
color.append('red')
color.append('yellow')
color.append('pink')
del color[0]
print(color)

['yellow', 'pink']

2. 使用方法pop()删除元素

pop()可以删除列表元素末尾的值,并让你可以接着使用它

  • 来自于这样的类比:列表就像是一个栈,而删除列表末尾元素的元素就相当于弹出栈顶元素。

candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
print(candy)
poped_candy = candy.pop()
print(candy)
print(poped_candy)

['水果糖', '牛奶糖', '棉花糖', '棒棒糖']
['水果糖', '牛奶糖', '棉花糖']
棒棒糖
  • 程序:首先定义并打印,再弹出一个值到变量poped_candy中,然后打印这个表,证明已经弹出,最后,在打印被弹出的值,也就是说我们现在依旧能够访问被删除的值。

3. 弹出列表中任何位置处的元素
pop()可以删除列表中好任何位置元素的值,只需要在括号中指定要删除元素的索引

candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
print(candy)

poped_candy = candy.pop(1)
print(candy)

['水果糖', '牛奶糖', '棉花糖', '棒棒糖']
['水果糖', '棉花糖', '棒棒糖']

如果要从列表中删除一个不再以任何方式使用的元素,就使用del语句,如果要在删除元素后还继续使用它,那么就是用pop()方法。

4. 根据值删除元素

  • 如果不知道要删除的值的位置,而是只是知道要删除的值,那就可以使用remove()方法。

candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
print(candy)
candy.remove('棉花糖')
print(candy)

['水果糖', '牛奶糖', '棉花糖', '棒棒糖']
['水果糖', '牛奶糖', '棒棒糖']
  • 使用remove()从列表删除元素时,也可以接着使用它的值。
candy = ['水果糖','牛奶糖','棉花糖','棒棒糖']
print(candy)

not_delicous  = '棉花糖'
candy.remove(not_delicous)
print(candy)
print(not_delicous + 'i do not like it')

['水果糖', '牛奶糖', '棉花糖', '棒棒糖']
['水果糖', '牛奶糖', '棒棒糖']
棉花糖i do not like it

虽然,值‘棉花糖’已经从列表中删除,但是它还存储在变量not_delicous中,让我们可以打印一条消息。说明删除的原因。

组织列表

1. 使用sort()方法对列表进行永久性排序

sort()让列表元素按照字母顺序排列

cars = ['bmw','audi','toyota','subaru']
cars.sort()
print(cars)

['toyota', 'subaru', 'bmw', 'audi']
2.使用函数sorted()函数对列表进行临时排序

函数sorted()能够按照特定顺序显示列表元素,同时不影响他们在列表中的排列顺序

cars = ['bmw','audi','toyota','subaru']
print(cars)
print(sorted(cars))

['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
3.倒着打印列表

方法reverse(),反转列表元素

cars = ['bmw','audi','toyota','subaru']
print(cars)
cars.reverse()
print(cars)

['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']

reverse()不是按照与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。
两次调用reverse(),就可以恢复到原来的顺序。

4.确定列表长度

函数len()可以快速确定列表长度

cars = ['bmw','audi','toyota','subaru']
print(len(cars))

4

python计算列表长度时,从1开始

操作列表

1.遍历整个列表

使用python中的for循环

loves=['cat','dog','rabbit']
for love in loves:
    print(love)

cat
dog
rabbit

python从列表中取出一个名字,存入到变量love中,再依次循环打印

2.在for循环结束后执行一些操作
  • 在for循环后面,没有缩进的代码都只执行一次,而不会重复执行
  • 使用for循环处理数据是一种对数据集执行整体操作的不错的方式

创建数字列表

1.使用函数range()
  • range()能够生成一系列数字
for value in range(1,5):
    print(value)

1
2
3
4

range()让python从指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输入不包含第二个值(这里为5)

2.使用range()创建数字列表
  • 使用函数list()将range()的结果直接转换成列表。
  • 如果将range()作为list()的参数,输出将为一个数字列表。
numbers = list(range(1,5))
print(numbers)

[1, 2, 3, 4]
  • 使用range()还可以指定步长
打印1-10内的偶数:
even_numbers = list(range(2,11,2))
print(even_numbers)
输出:
[2, 4, 6, 8, 10]

range()从2开始数,然后不断加2,直到达到或超过终值11.

3.对数字列表执行简单的统计计算
  • 求最大值max()
  • 求最小值min()
  • 求总和sum()
sss=[]
for value in range(1,5):
    sss.append(value**3)
print(sss)
print(min(sss))
print(max(sss))
print(sum(sss))
4.列表解析
  • 列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

例如上面的立方差列表:

ss=[value**3 for value in range(1,5)]
print(ss)

输出:
[1, 8, 27, 64]

如果要使用这种方法,首先要指定一个描述性的列表名,如SS;然后再指定一个方括号,并定义一个表达式,用于生成你要存储到列表中的值,其中,表达式为value**3,接下来,编写一个for循环,用于给表达式提供值,再接上右方括号。

使用列表的一部分

1.切片
  • 要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1,与函数range()一样,python在到达你指定的第二个索引前面的元素后停止。
players=['cha','mar','michael','florence','eli']
打印包含三个队员的切片
print(players[0:3])
提取2-4的元素
print(players[1:4])
如果没有指定第一个索引,将自动从列表开头开始
print(players[:4])
让切片终止与列表末尾
print(players[2:])
输出名单最后两名队员
print(players[-2:])

输出:
['cha', 'mar', 'michael']
['mar', 'michael', 'florence']
['cha', 'mar', 'michael', 'florence']
['michael', 'florence', 'eli']
['florence', 'eli']
2.遍历切片
  • 可以在for循环中使用切片

用for循环输出前三个:

players=['cha','mar','michael','florence','eli']
for player in players[:3]:
    print(player.title())

输出:
Cha
Mar
Michael
3.复制列表
  • 根据既有列表创建全新的列表。
  • 方法:可以创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])
my_food=['pizza','falafel','carrot cake']
friend_food = my_food[:]
my_food.append('milk')
print('my favorite foods are:')
print(my_food)

friend_food.append('ice cream')
print('my friends favorite foods is:')
print(friend_food)

输出:
my favorite foods are:
['pizza', 'falafel', 'carrot cake', 'milk']
my friends favorite foods is:
['pizza', 'falafel', 'carrot cake', 'ice cream']

如果我们像这样 firend_food=my_food,只是简单的赋值,就不能得到两个列表,也就没有接下来的分别向两个列表中插入内容了。
如果想要得到两个列表,可以对其分别进行不同的操作,那就要用这个语句:friend_food = my_food[:]

元组

1.定义元组
  • python将不能修改的值称为不可变的,而不可变的列表被称为元组
  • 元组使用圆括号来标识。
  • 定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样
dimensions=(200,50)
print(dimensions[0])
print(dimensions[1])
输出:
200
50
2.遍历元组中所有的值
  • 使用for循环来遍历
dimensions=(200,50)
for dimension in dimensions:
    print(dimension)
输出:
200
50
3.修改元组变量
  • 虽然不能修改元组的元素,但是可以给存储元组的变量赋值,可以重新定义整个元组
dimensions = (200, 50)
for dimension in dimensions:
    print(dimension)

dimensions = (400, 100)
print('\n Modified dimensions:')
for dimension in dimensions:
    print(dimension)
输出:
200
50

Modified
dimensions:
400
100
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值