Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数据结构,今天讲的是数据结构中的Python list(列表)。数据结构就是一些数据组合得到的“复合”数据类型。
在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
在学习过程中有什么不懂得可以加我的
python学习资源qun,855408893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
# 定义列表
name = ['Tom','Jack','John']
pet = ['cat','dog','bird']
# 打印列表
print(name)
print(pet)
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
# 通过索引读取列表中的元素,索引从0开始,-1代表最后一个元素
print(name[0]) #查看列表中第一个
print(pet[2]) #查看列表中第二个
print(name[-1]) #查看列表中最后一个
print(pet[-2]) #查看列表中倒数第二个
print (name[0:2]) #查看索引2之前的元素
#修改列表的元素
name[1] = 'Sean' #修改name列表,索引1的内容为Sean
print(name) #打印列表
向python列表里面添加元素主要有三种方法:
append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;
name.append(元素A)
# 在列表末尾添加新元素
name.append('Bob')
print(name)
extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
name.extend([元素A,元素B,……])
name.extend(['Xgp','Wsd'])
print(name)
insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。
pet.insert(A,元素B):表示在列表m里面的第A+1处加入元素B
# 在列表指定位置添加新元素
print(pet)
pet.insert(0,'penguin') #在列表最前面添加数据
print(pet)
pet.insert(-2,'pig') #在列表倒数第三个添加数据
print(pet)
与之前python列表的添加元素相对,删减列表里面的一些元素也有三种方法:
它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。
del m[n]
# 根据索引从列表中删除元素
print(pet)
del pet[0] #删除开头的元素
print (pet)
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉
Temp=pet.pop() %这里temp就会直接等于吗列表里最后一个元素。
Print(pet) %这里再次输出m的时候已经是删掉最后一个元素的m列表
print(pet)
new_pet=pet.pop()
print(new_pet)
# 弹出指定位置的元素
print(pet)
pet.pop(2)
print(pet)
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
# 根据元素的值进行删除:remove()
print(pet) #查看源列表
pet.remove('cat') #删除cat
print(pet) #打印列表
sort()排序方法:此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法。
sorted()方法:即可以保留原列表,又能得到已经排序好的列表
reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。
len() 方法返回列表元素个数。
在学习过程中有什么不懂得可以加我的
python学习资源qun,855408893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
# 定义列表:汽车的品牌
print('原始排序:')
brand = ['audi','bmw','toyota','luhu']
print(brand)
#临时排序
print('临时排序:')
print(sorted(brand))
# 永久排序: sort()
print('正序排序:')
brand.sort()
print(brand)
# 倒序排序
print('倒序排序:')
brand.sort(reverse=True)
print(brand)
# 获取列表长度
print('列表长度:')
print(len(brand))
kemu = ['语文','数学','英语','地理','生物']
print(kemu)
kemu.append('化学')
print(kemu)
kemu[2] = '计算机'
print(kemu)
print(kemu)
new_kemu=kemu.pop(3)
print(new_kemu)
kemu.pop(1)
print(kemu)
kemu.insert(0,'科学')
print(kemu)
kemu.remove('生物')
print(kemu)
city = ['北京','上海','广州','深圳','山西']
print(city)
print(city)
print(sorted(city))
print(city)
city.sort()
print(city)
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:
for iterating_var in sequence:
statements(s)
流程图:
# 定义一个列表
names = ['张三','李四','王五','赵六','田七']
zhang_san = names[0]
li_si = names[1]
wang_wu = names[2]
print(zhang_san+" "+li_si+" "+wang_wu)
# for循环
for name in names:
print(name)
注意: name
这个变量是在 for 循环
中定义的,意思是,依次取出 names
中的每一个元素,并把元素赋值给 name
,然后执行for循环体。
# 打印直角三角形
# 外层循环控制行数
# 内层循环控制列数
# 外层循环执行1次,内层循环执行1轮
for i in range(1,10):
for j in range(i):
print(j+1,end='')
print()
# 打印九九乘法表
for i in range(1, 10):
for j in range(i):
print(str((j+1))+"x"+str(i)+"="+str(i*(j+1)),end=' ')
print()
range ( ) 为 Python 的自有类,range() 带有内置的迭代方法iter() 和 next() ,它是一个可迭代对象,我们可以通过 for 访问 range() 创建的迭代器。
for num in range(11):
print(num,end=" ")
for num in range(2,11,2):
print(num,end=" ")
for num in range(1,11,2):
print(num,end=" ")
for num in range(1,11,2):
print(num**2,end=" ")
numbers = list(range(1,11))
print(numbers)
序号 | 函数 |
---|---|
1 | cmp(list1, list2) 比较两个列表的元素 |
2 | len(list) 列表元素个数 |
3 | max(list) 返回列表元素最大值 |
4 | min(list) 返回列表元素最小值 |
5 | list(seq) 将元组转换为列表 |
在学习过程中有什么不懂得可以加我的
python学习资源qun,855408893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
# 数字列表的最大值、最小值、总和
print(max(numbers)) #最大值
print(min(numbers)) #最小值
print(sum(numbers)) #总值
切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等类型。切片使用2个冒号分隔的3个数字来完成:第一个数字表示切片的开始位置,默认为0,第二个数字表是切片的截止(但不包含)位置(默认为列表长度),第三个数字表示切片的步长(默认为1),当步长省略时,顺便可以省略最后一个冒号。
可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。与使用下标访问列表元素不同,切片操作不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个空列表,代码具有更强的健壮性。# 切片
# 创建一个列表
pets = ['cat','dog','duck','pig']
print(pets)
pets[1:3]
pets[0:4]
pets[0]
pets[-1]
pets[1:]
pets[0:]
pets[-3:]
for pet in pets[-3:]:
print(pet,end=" ")
games = ['王者','吃ji','抢滩登陆']
# friend_games = ['王者','吃ji']
friend_games = games[:2]
print('我喜欢的游戏有:'+str(games))
print('我朋友喜欢的游戏有:'+str(friend_games))
numbers = (4,5,6) #定义元组
print(numbers[0]) #查看元组中第一个元素
for num in numbers:
print(num,end=" ")
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
print(numbers)
numbers = (0,1,2)
print(numbers)
在学习过程中有什么不懂得可以加我的
python学习资源qun,855408893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
print(numbers) #查看元组
del numbers #删除元组
print ("删除后的元组 numbers : ")
print(numbers) #因为删除了元组,所以看不到了,就会报错
*与字符串一样,元组之间可以使用 + 号和 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
(‘Hi!’,) * 4 | (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print (x,) | 1 2 3 | 迭代 |
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
元组:
L = ('Google', 'Taobao', 'Runoob')
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | ‘Runoob’ | 读取第三个元素 |
L[-2] | ‘Taobao’ | 反向读取,读取倒数第二个元素 |
L[1:] | (‘Taobao’, ‘Runoob’) | 截取元素,从第二个开始后的所有元素。 |