本人是个前端的无名小卒,为了自己的更好的机遇,努力自学python,望有志同道合的大佬可以交流一下
这文章的讲述列表就像与 JavaScript里面的数组一样,当学过js同撩们学习这个模块时就是时曾相识一样
1.1 列表的定义和基本使用
# 列表 是python 中的一种数据类型,可以存放多个数据,列表中的过螃蟹可以任意类型的
# 列表 list ,定义使用[] 定义
# 定义列表
my_list = []
print(my_list, type(my_list)) # [] <class 'list'>
my_list1 = list()
print(my_list1, type(my_list1)) # [] <class 'list'>
# 定义带数据的列表。数据元素之间使用逗号隔开
my_list2 = [1, 3.14, True, 'itsaac']
print(my_list2, type(my_list2)) # [1, 3.14, True, 'itsaac'] <class 'list'>
# 求列表中数据元素的个数,即列表的长度
num = len(my_list2)
print(num) # 4
# 列表支持下标和片操作
print(my_list2[1]) # 3.14
print(my_list2[-1]) # itsaac
print(my_list2[1:3]) # [3.14, True]
# 下标操作和字符串中的不同的是:字符串不能使用下标修改其中的数据,但是可以使用下标修改列表的中的数据
my_list2[0] = 18
print(my_list2) # [18, 3.14, True, 'itsaac']
my_list2[-1] = 'hello'
print(my_list2) # [18, 3.14, True, 'hello']
my_list2[0] = 'python'
print(my_list2) # ['python', 3.14, True, 'hello']
1.2 遍历
my_str = ['郭德纲', '于谦', '小岳岳', '孙越']
for i in my_str: # i 就是列表中的每一个数据
print(i)
print('*' * 30)
j = 0 # j 表示下标
while j < len(my_str):
print(my_str[j])
j += 1
1.3 向列表中添加数据
# 向列表添加数据的方法,都是直接在与原列表中进行添加的, 不会返回新的列表
my_list = ['郭德纲', '于谦', '小岳岳', '孙越']
print(my_list)
# 列表 .append(数据) 向列表的尾部追加数据
my_list.append('aa')
print(my_list) # ['郭德纲', '于谦', '小岳岳', '孙越', 'aa']
result = my_list.append(12) # 不要这样书写
# print(result) # none 关键字,表示空
print(my_list) # ['郭德纲', '于谦', '小岳岳', '孙越', 'aa', 12]
# 列表.insert(下标,数据) 在指定的下标位置进行添加数据
my_list.insert(0, 'itaac')
print(my_list) # ['itaac', '郭德纲', '于谦', '小岳岳', '孙越', 'aa', 12]
# print(my_list.insert(5, 3.14)) 不能这样书写,none
# 列表.extend(可迭代对像) # str 列表 , 会将可迭代对象中的数据逐个添加到原创表的末尾
my_list.extend('hel')
print(my_list) # ['itaac', '郭德纲', '于谦', '小岳岳', '孙越', 'aa', 12, 'h', 'e', 'l']
my_list.extend([1, 'python', 3])
print(my_list) # ['itaac', '郭德纲', '于谦', '小岳岳', '孙越', 'aa', 12, 'h', 'e', 'l', 1, 'python', 3]
1.4 列表中的列表数据查询操作
my_list = [1, 3.14, 'itsaac', False]
# index() 根据数据值,查找元素所在的下标,找到返回元素的下标, 没有找到,程序报错
# 列表中没有find 方法, 只有index() 方法
# 查找3.14 在列表下标
num = my_list.index(3.14)
print(num) # 1
# num1 = my_list.index(100) # 程序报错,因为数据不存
# count() 统计出现的次数
num3 = my_list.count(1) # 1
print(num3)
# in/ not in 判断是否存在 ,存在是True, 不存在是False, 一般和if 结合使用
num4 = 3.14 in my_list
print(num4) # True
num4 = 3.14 not in my_list
print(num4) # False
1.5 列表中的删除操作
my_list = [1, 2, 3, 4, 5, 6, 7]
# 1.根据元素的数据值删除 remove(数据值),直接原列表中的数据
my_list.remove(4)
print(my_list) # [1, 2, 3, 5, 6, 7]
# 2.根据下标删除
# 2.1 pop(下标) 默认删除最后一个数据,返回删除的内容
num = my_list.pop()
print(num) # 删除了最后一个 7
print(my_list) # [1, 2, 3, 5, 6]
num = my_list.pop(2)
print(num) # 删除下标为2的数据即3
print(my_list) # [1, 2, 5, 6]
# 2.2 del 列表【下标】
del my_list[1]
print(my_list) # 删除下标为1的数据 2
1.6 列表的排序与逆置
# 想要对列表中的数据进行排序,前提是列表中的数据类型是一样的
my_list = [1, 5, 3, 7, 9, 6]
# 列表.sort () 直接在原创列表中进行排序
# my_list.sort() # [1, 3, 5, 6, 7, 9] 默认是从小到大的排序 ,即升序
# my_list.sort(reverse=True) # [9, 7, 6, 5, 3, 1] 通过reverser = True , 从大到小排序
print(my_list)
# 补充:sorted(列表) 排序 ,不会在原则表中进行排序,会得到一个新的列表
my_list1 = sorted(my_list)
my_list2 = sorted(my_list, reverse=True)
print(my_list)
print(my_list1) # [1, 3, 5, 6, 7, 9]
print(my_list2) # [9, 7, 6, 5, 3, 1]
my_list3 = ['a', 'b', 'c', 'd', 'e']
# 逆置
my_list4 = my_list3[::-1] # 得到一个新的列表
print(my_list3) # ['a', 'b', 'c', 'd', 'e']
print(my_list4) # ['e', 'd', 'c', 'b', 'a']
# 在原列表直接逆置 列表.reverse()
my_list3.reverse()
print(my_list3) # ['e', 'd', 'c', 'b', 'a']
1.7列表嵌套
school_names = [['北京大学', '清华大学'], ['南开大学', '天津大学', '天津师范大学'], ['山东大学', '中国海洋大学']]
print(school_names[1]) # ['南开大学', '天津大学', '天津师范大学']
print(school_names[1][1]) # 天津大学
print(school_names[1][1][1]) # 津
for schools in school_names:
for name in schools:
print(name)