Python数据类型之列表

列表的创建

列表当中存储的数据,我们称之为元素

lst = [1,2,3,4,5] # 创建了一个空的列表

列表可以保存任意对象

lst = [1,'python',None,True,[1,2,3],print]


·我们可以通过索引(index)来获取列表当中的元素
·索引就是元素在列表当中的位置,列表当中的每一个位置都会有一个索引
·索引是从0开始 列表第一个位置就是0 第二个是1 以此类推
·获取列表的长度(列表中元素的个数) len()通过该函数可以获取列表的长度
·获取长度 其实就是列表的最大索引值+1

切片

切片指从现有类别,获取一个子列表

lst = [10,20,30,40,50]

·通过切片获取元素,会包括起始位置的元素,不会包括结束位置的元素
·做切片时,总会返回一个新的列表,不会影响原来的列表

hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']

  • 起始位置和结束的位置的索引是可以不写的
    ·如果省略结束位置,则会一直截取到最后
    ·如果省略开始位置,则会从第一个元素开始截取
    ·如果开始位置和结束位置都不写,则会从第一个元素截取到最后
步长
语法 列表[起始:结束:步长]

步长表示就是获取元素的间隔 默认值是1
步长可以是负数,但是不能为0

print(hero[])
print(hero)

通用操作

+和 *
+可以将两个列表拼接成一个列表
my_list = [1,2,3] + [4,5,6]
    * 可以将列表重复指定的次数
my_list = [1,2,3] * 2
print(my_list)


in  和  not in
in用来检查指定元素是否在列表当中,
如果在返回True 不在返回False

not in用来检查指定元素是否不在列表当中,
如果不在返回True在返回False
print('钢铁侠' not in hero)


min() 获取列表当中最小值
max() 获取列表当中最大值
arr = [10,2,4,5,6,333]
print(min(arr),max(arr))

方法和函数

  • 方法和函数基本上是一样的。我们可以说方法是特殊的函数。方法必须和对象联系在一起 对象.方法()形式来调用
s.index() len()
index() 获取指定元素在列表当中的位置(索引)
第二个参数表示查找的起始位置 第三个参数表示查找的介绍位置
print(hero.index('蜘蛛侠',3,7))

s.count() 统计指定元素在列表当中出的次数
print(hero.count('灭霸'))

修改列表

hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
# 通过索引修改索引为0的元素
hero[0] = '雷神'
print(hero)

修改列表

hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
print('修改前',hero)
# 通过del来修改 来删除列表当中的元素
  # 删除索引为2
  del hero[2] 

  # 通过切片修改0-2索引值
  hero[0:2] = ['黑豹','雷神']
  # 注:切片返回的是一个序列赋值的时候类型不能错
  # 切两个元素可以同时加三个元素于列表但不覆盖原有值
  hero[0:2] = ['黑豹','雷神','灭霸']
		> 修改前['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
		> 修改后['黑豹','雷神','灭霸','蜘蛛侠','黑寡妇','蚁人','美国队长']

print('修改后',hero)

hero = ['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']
# 可以通过切片来删除元素
hero[1:3] = []
# 向索引为0的位置插入元素
hero[0:0] = ['雷神']
# 输入步长为2的元素
print(hero[::2])
	> ['钢铁侠','蜘蛛侠','蚁人']
# 用步长来替换元素
hero[::2] = ['黑豹','雷神','灭霸']
# 注:列表里步长有几个元素就要用相同个数的元素来替换,不然会报错

# 想把python中 y -> j 
s = 'python'
# 强制类型转换,str转为list
s = list(s)
s[1] = 'j'

列表的方法

hero = ['钢铁侠','绿巨人','蜘蛛侠']
s = ['钢铁侠','绿巨人','蜘蛛侠']

print('修改前',hero)

hero[3] = 'b' # 向列表最后插入元素发现报错:超出索引值
# append() # 向列表最后添加一个元素
hero.append('黑寡妇')
·append() # 向列表最后添加一个元素(只能加一个元素)
hero.append('黑寡妇')

·insert()
向列表指定位置插入一个元素
参数1.要插入的位置(如果插入的后面有元素则后面的元素往后移) 
    2.要插入的元素

	hero.insert(2,'黑寡妇')

·extend()# 向后面添加可以是多个元素或者一个序列
			和append()不完全一样
使用新的序列来扩展当前的序列
需要一个序列做我参数,它会将该序列当中的元素添加到列表当中
hero.extend(['黑寡妇','蚁人'])
hero += ['黑寡妇','蚁人']后面的

·clear()
s.clear() 清空序列
hero.clear()

·pop()
s.pop()
如果不传递索引值删除的是列表最后一个元素
result = hero.pop() # 删除索引为2的元素
print(result)

·remove()
s.remove() 删除指定的元素
相同值的元素有多个,只会删除第一个
hero.remove('绿巨人')

·reverse() 用来反转列表
s.reverse()
sort() 用来对列表当中的元素进行排序
lst = ['asbdnltyyuip']
lst = list('asggerghuh')
print('修改前',lst)
lst.sort(reverse=True)
print('修改后',lst)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值