【Python学习(七)——序列、列表、元组、range、字符串、字典、集合、可变类型&不可变类型】

Python学习(七)------序列、列表、元组、range、字符串、字典、集合、可变类型&不可变类型

本文介绍了序列、列表、元组、range、字符串、字典、集合、可变类型&不可变类型,仅作为本人学习时记录,感兴趣的初学者可以一起看看,欢迎评论区讨论,一起加油鸭~~~

心中默念:Python 简单好学!!!

(有其他编程语言基础,所以记录的可能对初步接触编程的同学不太友好,有问题欢迎留言)

序列

在python中,有这样一些类型,它们的成员是有序排列的,并且可以通过下标访问成员,这些类型称之为序列。

包括:列表、range、元组和字符串。

序列的通用操作

  • len(item):计算容器中元素个数
  • del(item):删除变量(del有两种方式)
  • max(item):返回容器中元素最大值(如果是字典,只针对key比较)
  • min(item):返回容器中元素最小值(如果是字典,只针对key比较)
  • 切片:0123456789[::-2]---->97531(支持的数据类型:字符串、列表、元组)
  • +:合并(字符串、列表、元组)
  • *:重复(字符串、列表、元组)
  • in:元素是否存在(字符串、列表、元组、字典)
  • not in:元素是否不存在(字符串、列表、元组、字典)
  • = == < <=:元素比较(字符串、列表、元组)

列表

定义

  • List(列表)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
  • 专门用于存储一串信息
  • 列表用==[ ]定义,数据之间使用,==分隔
  • 列表的索引从0开始
  • 索引就是数据在列表中的位置编号,索引又可以被称为下标
  • 注意:从列表中取值时,如果超出索引范围,程序会报错

创建列表

语法:列表名=[元素1,元素2,...]

示例代码

python 复制代码
# 列表的创建
list1 = []  #空列表
print(list1)
print(type(list1))
list2 = [1,2,3,False,True,'hello']
print(list2)
list3 = list()  # 类型转换:把参数转换为列表
print(list3)
list3 = list('1234567')  # 类型转换:str-->list
print(list3)

# 列表的索引
print(list3[5])

# 列表的切片
print(list3[2:6:2])

#列表的加法和乘法
print(list3 + list2)
print(list3 * 3)

# 列表的成员运算
print('1' in list3)
print('1' in [1,2,3,4])
print([1,2,3,4] < [2,3])

# 内置函数  函数名()
print(len(list3))  # 求元素个数
print(max(list3))  # 求元素的最大值
print(min(list3))  # 求元素的最小值
# del list3  # 删除变量
# print(list3)
print('-' * 30)

# 列表的遍历
for i in list2:
    print(i)
for i,j in enumerate(list2):  # 枚举
    print(i,j)

for i in range(len(list2)):
    print(i,list2[i])

# 列表的常用方法method  变量.方法名()
# 添加元素
list3.append('666')
print(list3)
# 添加列表
list3.extend([1,2,3])
print(list3)
# 插入元素
list3.insert(2,'hello')
print(list3)
# 根据索引删除元素
list3.pop(3)
print(list3)
# 根据元素删除
list3.remove('7')
print(list3)
list3.append('hello')
print(list3)
list3.remove('hello')
print(list3)
# 清空列表
list3.clear()
print(list3)

# 计算若干个人的平均年龄
age = [10,20,30,40,23,45]
# 直接求和sum()
print(sum(age)/len(age))
total = 0
for i in age:
    total += i
print(total / len(age))

元组

定义

  • Tuple(元组)与列表类似,不同之处在于元组的元素不能修改
  • 元组表示多个元素组成的序列
  • 用于存储一串信息,数据之间使用,分隔
  • 元组用()定义

示例代码

python 复制代码
# 元组的创建
tuple1 = (1,2,3,True,'hello')
print(tuple1)
print(type(tuple1))
list1 = [1]
print(list1)
# 元组里只有一个元素时,加一个逗号
tuple2 = (1,)  # ()除了定义元组,还是数学中优先运算符号
print(tuple2)
print(type(tuple2))
tuple3 = tuple()  # tuple():类型转换
print(tuple3)
print(type(tuple3))
tuple4 = ()
print(tuple4)
print(type(tuple4))
tuple5 = tuple('hello')  # str-->tuple
print(tuple5)
tuple6 = tuple([1,2,3,4])  # list-->tuple
print(tuple6)
list1 = list(tuple6)  # tuple-->list
print(list1)
str1 = str(tuple6)  # tuple-->str
print(str1)
print(type(str1))
print(str1[2])

# 序列的通用操作
print('-'*30)
# 索引
print(tuple1[-1])
# 切片
print(tuple1[::-1])
# len
print(len(tuple1))
print(max(tuple6),min(tuple6))
# del
del tuple5
# print(tuple5)
# +
print(tuple1 + tuple6)
# *
print(tuple1 * 3)
# in
print(1 in tuple1)

# 元组的常用方法
a = tuple1.count('hello')  # 计数
print(a)
print(tuple1)
a = tuple1.index(2)
print(a)

# 元组的遍历
print('-' * 30)
for i in tuple1:
    print(i)

for index,value in enumerate(tuple1):
    print(index, value)

for i in range(len(tuple1)):
    print(i, tuple1[i])

range

定义

  • 系统提供的内建函数 range(start,end,[step=1]),生成一个等差序列[start,end]
  • 注意序列属于不可变序列,不支持元素修改,不支持 + 和 * 操作
  • range一般用于for-in循环遍历
  1. 原型:range([start,] stop [,step])
  2. 功能:生成列表
  3. 参数:
  • start:表示列表起始值,包含,默认为0
  • stop:表示列表结束值,但是不包含
  • step:步长,默认为1

示例代码

python 复制代码
# range(start, end, step)
print(list(range(10)))  # end
print(list(range(2,10)))  # start, end
print(list(range(2,10,3)))  # start, end, step

for i in range(3):
    print('hello')

# 高斯求和
total = 0
for i in range(1000, 10001, 2):
    total += i
print(total)

# 水仙花数:三位数,每一位数字的立方和 = 三位数本身
# 123 1^3+2^3+3^3 = 123
for i in range(100, 1000):
    a = i % 10  # 个位
    b = i % 100 // 10  # 十位 i // 10 % 10
    c = i // 100  # 百位
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)
        
# 使用字符串索引的方式
for i in range(100, 1000):
    t = str(i)
    a = int(t[2])
    b = int(t[1])
    c = int(t[0])
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)

字符串

定义

  • 字符串就是一串字符,是编程语言中表示文本的数据类型
  • 在Python中可以使用一对双引号或者一对单引号定义一个字符串
  • 字符串是以单引号或者双引号括起来的任意文本,也可以是以三引号引起来的任意文本

示例代码

python 复制代码
s1 = 'hello world'

# 序列的通用操作
print(s1 + 'mia')
print(s1 * 3)
print(len(s1))
print(max(s1),min(s1))
print(ord('w'))
print(ord(' '))
# del s1
print('s' in s1)
print('abcd' < 'abce')
print('cd' < 'abcd')

# 字符串的遍历
for i in s1:
    print(i)
for index,value in enumerate(s1):
    print(index,value)
for i in range(len(s1)):
    print(i,s1[i])

# 类型转换
print(str(12),type(str(12)))  # int-->str
print(str([1,2,3,4]),type(str([1,2,3,4])))  # list-->str
print(str((1,)),type(str((1,))))   # tuple-->str

# 常用方法
print(s1.islower())
print(s1.isupper())
print(s1.isdigit())
print(s1.count('o'))
print(s1.strip())  # 去掉空格
print(s1.split(' '))  # 分隔字符串
print(s1.find('o',5,8))
print('#'.join(['111','222','333']))  # 连接

# 字符串的统计
s = input('请输入一篇文章:')
# 字母的个数、数字的个数、符号的个数
a, b, c = 0, 0, 0
for i in s:
    if i.isdigit():
        b += 1
    elif i.isalpha():
        a += 1
    else:
        c += 1
print(a, b, c)

字典

定义

  • dictionary(字典)是除列表以外 python之中最灵活的数据类型
  • 字典同样可以用来存储多个数据
  • 通常用于存储描述一个物体的相关信息
  • 和列表的区别:列表是有序的对象集合;字典是无序的对象集合
  1. 字典用{}定义
  2. 字典使用键值对存储数据,键值对之间使用==,==分隔
  3. 键key是索引
  4. 值value是数据
  5. 键和值之间使用==:==分隔
  6. 键必须是唯一的
  7. 值可以取任何数据类型,但键只能使用字符串、数组或元组

示例代码

python 复制代码
# 字典的创建
d = {
    'name':'mia',  # 键值对
    'gender':'female',
    'name':'jack',  # 键重复的话,会覆盖掉之前的值
}
print(d)
print(type(d))
d = {}
print(d)
print(type(d))
d = dict()
print(d,type(d))
d = {
    'name':'mia',  # 键值对
    'gender':'female',
}

d['height'] = 170
print(d)
# 获取键值对
print(d['name'])
# 修改键值对
d['gender'] = 'male'
print(d)

# del(d)
# print(d)
# in
print('age' in d)

# 字典的遍历
for i in d:
    print(i,d[i])
print('-' * 30)
for k, v in d.items():
    print(k,v)
for k in d.keys():
    print(k)
for v in d.values():
    print(v)

# 字典的常用方法
d.pop('gender')
print(d)
a = d.copy()
print('a的键值对', a)
print(d.get('name'))
d.popitem()  # 从后往前删一个,入栈push出栈pop
print('pop',d)
d.update({'age':18})
print(d)
d.clear()
print(d)

集合

定义

  • 不允许有重复元素,如果添加重复元素,则会自动过滤,可以进行交集、并集的运算
  • 是一种无序且无重复元素的数据结构
  • 与dict类似,是一组key的集合(不存储value)

示例代码

python 复制代码
# 集合的创建
s = set()
print(s,type(s))
s = {1,2,3,4,1,2}
print(s,type(s))
s = set([1,2,3,1]) # list-->set
print(s)
s = set((1,2,3))  # tuple-->set
print(s)
s = set('123')  # str-->set
print(s)

s = set({1:'a','a':2})  # dict-->set:默认取key
print(s)
# in
print(1 in s)
print(2 in s)
print(len(s))
print(max({1,2,3}),min({1,2,3}))
# del s
# print(s)
# 集合不支持索引!!
# 集合的遍历
print('-' * 30)
for i in s:
    print(i)

# 常用方法
s.remove('a')
print(s)
s.update({2,3,4,5,6,7,6,5})
print(s)
s.add(9)
print(s)
s.add(1)
print(s)
# 交集 并集
s2 = {5,6,7,8,9}
print(s & s2)
print(s | s2)

# 列表去重
score = [80,70,60,80,70,60,40]
s = set(score)
print(s)
d = {}
# 统计各个分数都有几个学生
for i in s:
    t = score.count(i)
    print('得分为%d的学生有%d个人' %(i,t))
    d[i] = t
print(d)
for k,v in d.items():
    print('得分为%d的学生有%d个人' % (k, v))

可变类型&不可变类型

不可变数据类型在创建后,其值就不能被改变。Python中的以下数据类型是不可变的:

  • 数字(例如:int、float、complex)
  • 字符串(例如:str,不支持使用索引的方式进行修改)
  • 元组(例如:tuple)
  • 布尔类型(例如:bool)

可变类型

可变数据类型的值可以在创建后被改变。Python中以下数据类型的可变的:

  • 列表(例如:list)
  • 字典(例如:dict)
  • 集合(例如:set)
相关推荐
2401_898410695 分钟前
Bash语言的文件操作
开发语言·后端·golang
Want59523 分钟前
《Python趣味编程》专栏介绍与专栏目录
开发语言·python
Stanford_110624 分钟前
关于物联网的基础知识(三)——物联网技术架构:连接万物的智慧之道!连接未来的万物之网!
c++·物联网·学习·微信小程序·架构·twitter·微信开放平台
qq197836630832 分钟前
Python 批量生成Word 合同
开发语言·python·自动化·word
io_T_T39 分钟前
python SQLAlchemy ORM——从零开始学习 02简单的增删查改
python
HinsCoder40 分钟前
IDEA使用Git同步教程
java·笔记·git·学习·github·intellij-idea·版本控制
Q_192849990641 分钟前
基于Django的农业管理系统
后端·python·django
棋丶1 小时前
VUE2和VUE3的区别
开发语言·前端·javascript
Pandaconda1 小时前
【Golang 面试题】每日 3 题(二十三)
开发语言·后端·面试·golang·go·channel