【Python】数据类型之列表

举报
向阳花花花花 发表于 2023/07/28 16:06:07 2023/07/28
【摘要】 本文主要讲解Python数据类型之列表
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。


列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

一、定义和遍历

1.1 定义列表

list = []  # 1.定义一个空列表
print(type(list))

namelist = ["xiaoguo", "123", "321"]  # 2.定义并初始化一个列表
print(namelist[0])
print(namelist[1])
print(namelist[2])

list1 = [123, "Jerry"]  # 3.列表可以存储不同数据类型
print(type(list1[0]))
print(type(list1[1]))

1.2 打印和截取列表

list = [11,22,33]
print(list) # 1.打印列表所有元素
print(list[1:3]) # 2.方括号截取,左闭右开

nameList = ["xiaoguo","xiaojiang","xiaoma"]
print(nameList[2]) # 读取列表第三个元素
print(nameList[-2]) # 读取列表倒数第二个元素
print(nameList[1:]) # 从第二个元素读到最后
print(nameList[:2]) # 从第一个元素读到第二个元素

1.3 遍历列表

namelist = ["xiaoguo", "123", "321"]  # 定义并初始化一个列表
for name in namelist:
    print(name, end="\t")  # for循环遍历
    
print()

length = len(namelist)  # 获取列表长度
i = 0
while i < length:  # while循环遍历
    print(namelist[i], end="\t")
    i += 1

二、增删改查

2.1 更新和删除列表

list1 = [];
list1.append("Str") # 1.使用append()函数追加元素
list1.append(123)
print(list1)
list2 = [123,"Json","carry",6]
print(list2)
# 1.del()
del list2 # 删除整个列表
del list2[1]  # 删除第二个元素
print(list2)

# 2.pop() 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(list2.pop())
print(list2)
print(list2.pop(0))

# 3.remove() 移除列表中某个值的第一个匹配项
list3 = ["tom", "jery", "kete", "hello", "tom"]
list3.remove("tom")
print(list3)


2.3 脚本操作符 * + in

list = [1,"小王","xiaoLi"]
length = len(list) # 长度
print(length)

list1 = [2,"xiaoguo"]
print(list + list1) # 相加

list2 = list1*3 # 重复
print(list2)

b = 1 in list2 # 判断元素是否在列表中
print(b)

三、函数和方法

函数和方法的区别
与类和实例无绑定关系的function都属于函数(function),与类和实例有绑定关系的function都属于方法(method)
方法和函数类似,同样封装了独立的功能;简单的说,函数在python中独立存在,是可以直接使用的,而方法必须是别人调用才能实现的

3.1 函数

函数 用法作用
cmp() Python 3.X 的版本中已经没有 cmp 函数,如果你需要实现比较功能,需要引入 operator 模块,适合任何对象,例如operator.lt(a,b)
len() 列表元素个数
max() 列表元素最大值,在列表中的元素是同类型时才可以比较,否则报错,如含有数字和字符串的列表不能比较
min() 列表元素最小值,规则和max()函数一致
list() 将元组转化为列表,元组和列表是非常相似的,区别在于元组的值不能更改,包含在圆括号中
# 1.cmp() 比较
list1 = [11, 22, 33, "123"]
list2 = [22, 33]
print(operator.lt(list1, list2))
# 2.len() 长度
print("length:%d"%len(list2))
# 3.max()
print(max(list2))  
# 4.min()
print(min(list2))  
# 5.list() 
tmp = (1, 2, 3, "jack")
print(type(tmp))
print(list(tmp))  # 将元组转化为列表

3.2 方法

# 1.append() 
list1 = ["mali", "tom"]
list1.append([12])
print(list1)

# 2.count() 
print(list1.count("tom"))

# 3.extend() 
list1.extend(["str", 1])
print(list1)

# 4.index()
print(list1.index(1))

# 5.insert()
list2 = [11, 22, 33]
list2.insert(1, 123)
print(list2)

# 6.pop()
print(list2.pop())
print(list2)
print(list2.pop(0))

# 7.remove()
list3 = ["tom", "jery", "kete", "hello", "tom"]
list3.remove("tom")
print(list3)

# 8.reverse()
list4 = [1, 2, 3]
list4.reverse()
print(list4)

# 9.sort()
list5 = [1, 5, -234, 329]
list5.sort()
print(list5)
list5.sort(reverse=True)
print(list5)

列表例题:8位老师随机分到3个办公室

# 定义三个办公室
offices = [[], [], []]
# 定义8个老师
teachers = ["A", "B", "C", "D", "E", "F", "G", "H"]
for name in teachers:
    # 生成0-2的3个随机数
    ran = random.randint(0, 2)
    # 将老师添加到随机办公室中
    offices[ran].append(name)
# 查看每间办公室的人数
i = 1
for office in offices:
    print("第%d间办公室有%d人,分别是:" %(i, len(office)))
    i+=1
    for off in office:
        print(off, end="\t")
    print()

首先,恭喜大家已经阅读完这篇文章啦!虽然我尽量以通俗简单的形式将内容体现出来,但水平有限,望大家海涵。我们下期再见,拜拜~

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。