Python数据类型--列表

列表
一、序列
  • 序列是Python的中最基本的数据结构

  • 序列每个值都有对应的位置,称之为索引,第一个索引是0,第二个索引是1,以此类推

  • Python有6个序列的内置类型,但最常见的是列表和元组

  • 列表的操作:索引,切片,加,乘,检查成员

二、列表

列表的每个数据项不需要相同的数据类型

创建:使用方括号,每个值之间使用逗号分隔

# 直接创建
list_create =['a','b',1,2]

# 字符串分割,使用split(),分割后的变量是一个列表
n = "1 2 3 4 5 6"
m = n.split()

# 列表解析式(列表推导式):遍历生成
n = "123456"
my_list =[int(i) for i in n]

# 使用range函数
my_list = range(5, 51, 5) # 创建一个从5到50,都是5的倍数的列表

访问列表中的值:使用索引

  • 正向索引:第一元素从0开始,递增
list_create =['a','b',1,2]
print(list_creat[1])
>>> b
  • 逆向索引:最后一个元素从-1开始,往前一位为-2,以此类推
list_create =['a','b',1,2]
print(list_creat[-2])
>>> 1
  • 截取:
list_create = [1,2,3,'a','b','c']
print(list_create[1:3])  #截取的是索引值>=1,且索引值<3的值
print(list_create[-3:-1]) #截取的是索引值>=-3,且索引值<-1的值
>>>[2,3]
>>>['a','b']

更新列表:

  • 修改(更新):直接使用索引更新值;
list_create = [1,2,3,'a','b','c']
list_create[2]=4   #直接使用索引更新值
print('更新后的列表',list_create)
>>>更新后的列表 [1, 2, 4, 'a', 'b', 'c']
  • 添加元素:列表使用append()
list_create.append('add') #往列表的尾部添加一个元素
print('更新后的列表',list_create)
>>>更新后的列表 [1, 2, 4, 'a', 'b', 'c', 'add']
  • 删除元素:使用del语句,或者使用pop
list_create = [1, 2, 3, 'a', 'b', 'c']
# 使用del语句删除
del list_create[1]
# 或者使用列表的pop移除函数,参数是索引,会删除原表的数据
list_create.pop(1)
print('更新后的列表',list_create)

脚本操作符

+号用于组合列表,*号用于重复列表

list_create = [1, 2, 3]
list_group = ['z', 'b', 'c']
list_obb = list_create + list_group
print(list_obb)
list_mult = list_group * 3
print(list_mult)
'''[1, 2, 3, 'z', 'b', 'c']
['z', 'b', 'c', 'z', 'b', 'c', 'z', 'b', 'c']
'''

Python的列表截断与拼接

截断:只是截取列表的部分值,不改变列表本身

拼接:就是组合两个列表,创建新的列表,然后修改原本列表为新的列表

list_create = ['z', 'b', 'c']
print(list_create[0:2])
print(list_create)
list_create += [1, 2, 3]
print(list_create)
'''
>>>['z', 'b']
>>>['z', 'b', 'c']
>>>['z', 'b', 'c', 1, 2, 3]
'''

嵌套列表:在列表中创建其他列表

列表函数

len(list):元素个数(长度)

max(list):返回列表元素的最大值

min(list):返回列表元素的最小值

list(seq):将元组装换为列表

注:max和min函数,需要列表的元素全都为整数或者都为字符串

# 通过将输入的字符串分隔成list,使用map()映射函数将列表的元素全部转换成整数,将map对象转换成list对象
data_list = list(map(int, input().split()))

# 使用max()函数获取列表的最大值
print(max(data_list))
# 使用min()函数获取列表的最小值
print(min(data_list))

# 使用sum()函数计算列表的总数
print(sum(data_list))
方法

list.append(obj):在列表尾部添加新的对象

list.count(obj):统计某个元素在列表中出现的次数

list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用于新列表扩展原来的列表)

list.index(obj):从列表中找出某个值第一个匹配项的索引位置

list.insert(index,obj):将对象插入列表,在索引index的位置,插入一个元素

list.pop(index= -1):移除列表指定索引的元素,默认为-1(最后一个)

list.remove(obj):移除列表中某个值的第一匹配项

list.reverse():反向列表中元素

list.sort():对原表进行排序

list.clear():清空列表

list.copy():复制列表

实践应用

列表排序:sort和sorted

'''
sort是列表函数,而sorted是所有可迭代的对象进行排序操作。
sort会改变原本的列表,sorted是生成临时list对象,不改变原本的迭代对象
两者的排序参数规则一致:
    reverse:True降序,False升序(默认)
'''
data_list = [1, 6, 5, 4, 2]
data_list.sort(reverse=False)

data_dict = {"<": "less than", "==": "equal"}
dict_list = sorted(data_dict.items(), reverse=True)

# 列表的统计函数,参数是被统计的元素
print(dict_list.count(2))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值