人生苦短,我学Python——一个计算机本科生的Python学习之路(八)

折月煮酒 提交于 2020-03-04 20:08:22

离某一天又近了一步!↖(ω)↗

Python高级数据类型

Python中的数据类型可以分为数字型非数字型。数字型包括整型(int),浮点型(float),布尔型(bool),复数型(complex);非数字型包括列表(list),元组(tuple),字典(dictionary),字符串(str)。数字型变量大家应该都很熟悉,下面我就具体介绍一下非数字型变量。

列表

Python中的列表其实非常像C语言中的数组,长相也差不多一个样子,但是Python的列表的功能要比C语言中的数组多,也更加的方便。Python列表的数据项不需要是相同的数据类型,创建一个列表就是下面这个样子:

list1 = ["google", "messi", 666, 99.9]
list2 = [1, 2, 3, 4,5]
list3 = ["a", "b", "c"]

列表的基本使用

列表的一些基本方法有

  • 取值和取索引
    • list[n]:取列表中第n-1个元素的值
    • list.index(“列表元素”):返回列表元素的位置
  • 修改数据
    • list[n]=“修改后的元素”
  • 增加数据
    • append()方法:向列表末尾追加数据
    • insert()方法:向列表指定位置插入数据
    • extend()方法:向列表末尾再插入一个新列表
  • 删除数据
    • remove()方法:从列表中删除指定的元素
    • pop()方法:默认删除列表中最后一个元素,也可以删除指定位置的元素
    • clear()方法:清空列表
name_list = ["zhangsan", "lisi", "wangwu"]

# 1.取值和取索引
# list index out of range 列表索引超出范围
print(name_list[1])

# 知道数据内容,想确定数据在列表中的位置
print(name_list.index("lisi"))

# 2.修改
name_list[1] = "李四"
print(name_list[1])

# 3.增加
# append 方法可以向列表末尾追加数据
name_list.append("王小二")
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1,"小美眉")

temp_list = ["孙悟空", "猪二哥", "沙师弟"]
name_list.extend(temp_list)

# 4.删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 可以清空列表
name_list.clear()

print(name_list)

删除数据还有del方法:

name_list = ["张三", "李四", "王五"]

# 使用del关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法
del name_list[1]

# del关键字本质是用来将一个变量从内存中删除
name = "小明"

del name

# 如果使用del关键字将变量从内存中删除
# 后续代码就不能在使用这个变量了
print(name_list)

上面的介绍很清楚,这里就不赘述了。

统计列表数据

len(length 长度)函数可以统计列表中元素的总数。
count 方法可以统计列表元素中某一个数据出现的次数。

name_list = ["张三", "李四", "王五", "张三", "王小二"]
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)
count = name_list.count("张三")
print("张三出现了 %d 次" % count)
# 从列表中删除第一次出现的数据
name_list.remove("张三")
print(name_list)

列表排序

升序:sort()
降序:sort(reverse=True)
逆序:reverse()

name_list = ["zhangsan", "lisi", "wangwu", "wangxioaer"]
num_list = [6, 8, 4, 1, 10]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()
print(name_list)
print(num_list)

遍历列表

一般使用迭代法遍历列表。

name_list = ["张三", "李四", "王五", "张三", "王小二"]

# 使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每次循环过程中,数据都会存在
i这个变量中,在循环体内部可以访问到当前这一次获取到的数据
for i in name_list:

    print("我的名字叫 %s " % i)"""
for i in name_list:

    print("我的名字叫 %s " % i)

元组

Python的元组与列表类似,不同之处在于元组元素不能修改。

tup1 = ("nihao", "hello", "python")
tup2 = (1, 2, 3, 4, 5)
# 空元组
tup3 = ()

元组基本使用

元组的基本使用方法和列表类似,就是不能修改元素。

info_tuple = ("zhangsan", 18, 1.75, "zhangsan")

# 1.取值和取索引
print(info_tuple[0])
# 已经知道数据的内容,希望知道该数据在元组中的索引
print(info_tuple.index("zhangsan"))

# 2.统计计数
print(info_tuple.count("zhangsan"))
# 统计元组中包含的元素个数
print(len(info_tuple))

遍历元组

依然是使用for循环遍历。

info_tuple = ("zhangsan", 18, 1.75)

# 使用迭代遍历元组
for my_info in info_tuple:

    # 使用格式字符串拼接 my_info 这个变量不方便
    # 因为元组中通常保存的数据类型是不同的
    print(my_info)

格式化字符串

Python格式化字符串简单来说就是在print函数中输出指定格式的数据,像是保留几位小数这种。

info_tuple = ("小明", 21, 1.85)

# 格式化字符串后面的()本质上就是元组
print("%s 年龄是 %d 身高是 %.2f" % info_tuple)

info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple

print(info_str)

最后

避免篇幅太长,字典和字符串等知识在下一篇博客介绍,有兴趣的同学可以看看,祝大家天天开心O(∩_∩)O~~!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!