python基础知识(七)& 列表

一、列表概念

列表是最常用的数据类型之一,通过列表可以对数据实现存储、修改、遍历等操作

1、访问列表的元素:通过下标访问列表中的元素,下标从0开始计数

a=[1,2,3,4,5]
b=['name','age','sex','like']

print(a[0])     #1
print(b[0])     #name
#可以倒着输入
print(a[-1])    #5
print(b[-2])    #sex

2、切片:就是对列表元素进行切割。

b=['name','age','sex','like']

#取下标1至下标3之间的数字,包括1,不包括3
print(b[1:3])    #['age', 'sex']

#取下标1至-2的值,不包括-2
print(b[1:-2])   #['age']

##如果是从头开始取,0可以忽略
print(b[:3])     #['name', 'age', 'sex']

#如果想取最后一个,必须不能写-1,只能这么写
print(b[1:])     #['age', 'sex', 'like']

#后面的2是代表,每隔一个元素,就取一个
print(b[1::2])   #['age', 'like']

3、追加。关键字:append,在列表后面添加元素

b=['name','age','sex','like']

b.append('agdd')
print(b)  #['name', 'age', 'sex', 'like', 'agdd']

b.append(['hobby','address','place'])  
print(b)#['name', 'age', 'sex', 'like', 'agdd', ['hobby', 'address', 'place']]

#此时的里面的列表是一个元素
print(b[-1])  #['hobby', 'address', 'place']

4、插入。关键字:insert

b=['name','age','sex','like']

#表示索引为3的前面插入
b.insert(3,'123')
print(b)   #['name', 'age', 'sex', '123', 'like']

5、修改:根据索引

b=['name','age','sex','like']
b[2]='kareng'

#sex修改为kareng
print(b)    #['name', 'age', 'kareng', 'like']

6、删除

b=['name','age','sex','like']
#把索引为2的内容删除
del b[2]
print(b)   #['name', 'age', 'like']

b=['name','age','sex','like']
#删除指定元素
b.remove('age')
print(b)   #['name', 'sex', 'like']

b=['name','age','sex','like']
#删除最后一个元素
b.pop()
print(b)  #['name', 'age', 'sex']

7、扩展。关键字:extend

b=['name','age','sex','like']
a=[1,2,3,4,5,6]

b.extend(a)#extend里面参数是iterable
print(b)    #['name', 'age', 'sex', 'like', 1, 2, 3, 4, 5, 6]

8、拷贝。关键字:copy

b=['name','age','sex','like',[1,2,3]]

a=b.copy()
print(a)  #['name', 'age', 'sex', 'like',[1,2,3]]

b[1]=2
print(b)  #['name', 2, 'sex', 'like', [1, 2, 3]]
print(a)  #['name', 'age', 'sex', 'like', [1, 2, 3]]

b[-1][1]='xiao'
print(a)  #['name', 'age', 'sex', 'like', [1, 'xiao', 3]]

问题:b[1]=2时,为什么a不随着b而改变,而b[-1][1]='xiao’时,同样是修改,为什么a随着b改变?
答:b[-1][1]存的是地址,所以改变列表时和拷贝时,如果修改列表元素时,相应的a也改。

9、统计。关键字:count

b=['name', 'age', 'sex', 'like', 1, 2, 3,'like']

#统计like出现的次数
print(b.count('like'))   #2

10、排序。关键字:sorted

b=['name', 'age', 'sex', 'like', 1, 2, 3]
print(b.sort())     #TypeError: '<' not supported between instances of 'int' and 'str'

报错,以为b里面的数据类型不一致,有str和int.

b=['name', 'age', 'sex', 'like',1, 2, 3]
b[-1]='3'
b[-2]='2'
b[-3]='1'

#排序
b.sort()
print(b)         #['1', '2', '3', 'age', 'like', 'name', 'sex']
  
#翻转
b.reverse()
print(b)       #['sex', 'name', 'like', 'age', '3', '2', '1']

11、获取下边。关键字:index

b=['name','like', 'age', 'sex', 'like',1, 2, 3]

#只返回第一次出现的下标
print(b.index('like'))   #1

12、遍历列表。for循环


b=['name','like', 'age']
for i in b:

    print(i)

运行结果:依次输出列表的内容。

name
like
age
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值