【Python基础-6】数据类型(字符串、列表、字典、元组、集合)

前面了解到了什么是基础数据类型中的数值型,现在我们继续来认识一下何为序列类型

在本篇中主要讲解一些关于序列类型的基础知识,主要对其基本用法的一些了解,对于一些序列类型的更多方法会在后面的篇章中讲到。


前言

在python中除了数值类型还有序列类型,所谓序列类型其实就是可以存储多个数据的一种数据类型,一般的序列类型都有它的索引。


一、可变类型与不可变类型的定义

1.1 可变数据类型

所谓可变数据类型其实就是值在发生改变的时候,内存地址不变但是原值在变

比如给一个数据分配了一个空间并给了一个初值,你能够在这个空间里面直接去修改它的值,说明这是可变的。

我们常见的可变数据类型有:列表、字典、集合

1.2 不可变数据类型

所谓不可变的数据类型其实就是修改值的时候,它的内存地址也发生了改变,从而产生了新的值

我们常见的不可变数据类型有:字符串、数字、元组

二、不可变类型

2.1 字符串 str

字符串主要是以单引号双引号三引号括起来的任意文本,主要用来记录文本信息,其中的引号主要是用来表示字符串这个数据类型的,并不是字符串的一部分。 

name = '小廉'   # 定义一个name变量,将"小廉"赋值给name,这里的"小廉"就是一个字符串
print(name)

 字符串只能用于相加和相乘的运算,其中相加相当于拼接。

# 相加进行拼接
a = 'abc'
b = 'efg'
print(a+b)

# 相乘进行多次输出
a = 'abc'
print(a*5)

 2.1.1 转义字符\

主要用于一些特殊的输出

\n 表示换行
\t 表示制表符(相当于tab键,空格)
\\ 表示\
\‘ 表示一个’

如果要输出带引号的文本,就需要用到转义字符了。如下,

print('I\'m 小廉') # 其中如果不加\,系统就分辨不出来谁是引用内容,从而发生报错
>>I'm 小廉

2.2 数字 (int float)

这里的数字包含了整型和浮点型,都属于不可变的类型

2.3 元组 tuple

元组就是一组数据的集合,其中的数据是只能去访问而不能去改变其值的

元组的表示通常使用一对小括号(),如下便是元组的表示

content = () # 设置一个空元组
content2 = (1,2,3,4,'小廉') # 初始化一个元组
print(type(content)) # 查看其类型
print(content2) # 输出元组

# 输出的值
>> <class 'tuple'>
>> (1, 2, 3, 4, '小廉')

进程已结束,退出代码0

 元组本身不可变,但如果元组包含其他可变的元素,那些可变元素可以改变。

对于元组来说,其实并不需要小括号也是可以的,但是必须得有逗号进行分隔,就算只有一个元组,也要用逗号进行分隔。如下,

cont = "石昊","石毅","秦昊" # 初始化一个元组
cont2 = ('大表哥',) # 只有一个元素的元组
print(cont)
print(type(cont)) # 查看类型

print(cont2)
print(type(cont2)) # 查看类型

# 输出值
>> ('石昊', '石毅', '秦昊')
>> <class 'tuple'>
>> ('大表哥',)
>> <class 'tuple'>

进程已结束,退出代码0

三、可变类型

3.1 列表 list

列表就是一组有序可变的数据集合。

因为列表是可变的,所以更加方便的在原数据上面进行个别数据的修改。

列表的创建,以及初始化如下所示:

lst = []    # 创建一个空列表
name_lst = ['小廉','石昊','石毅','秦昊',100]  # 初始化一个列表

print(type(lst)) # 查看类型
print(name_lst) # 输出值

>> <class 'list'>
>> ['小廉', '石昊', '石毅', '秦昊', 100]

进程已结束,退出代码0

在上面的代码中其实也不难发现,python相比于传统的C语言来说更加灵活多变,在一个列表中存储的值不一定只是同一个类型,也可以存储其他数据类型,比如上面存储了字符串和整型


3.2 字典 dict

字典主要是用于保存一些具有对应关系的数据类型,主要采用键值对的方式来存储数据

键值:键就是key,值就是value

键值对表示如下:
‘xx’:‘xxxxx’
key:value

创建字典如下:

dic1 = {}  # 创建一个空字典

# 给字典里面初始化赋值,注意每一个键值对都要用逗号隔开
dic = {'name':'石昊','age':18,'hobby':'战斗'}  
print(type(dic1)) # 查看类型
print(dic)

>> <class 'dict'>
>> {'name': '石昊', 'age': 18, 'hobby': '战斗'}

进程已结束,退出代码0

现在我们知道了如何创建一个字典,但是我们又该如何通过键值对去访问呢?

其实只需要通过,字典名[key]就可以去访问value啦

dic = {'name':'石昊','age':18,'hobby':'战斗'} 
# 通过键值对的方式去访问值
print(dic['name'])
print(dic['age'])
print(dic['hobby'])

>> 石昊
>> 18
>> 战斗

进程已结束,退出代码0

明白如何去访问值之后,我们又会关心如何去修改值?

其实修改值也非常容易,直接通过,字典名[key]=value就可以修改咯

下面可以很清楚的看到value的修改

dic = {'name':'石昊','age':18,'hobby':'战斗'} 
dic['name'] = '小廉'  # 修改字典的'name'值

print(dic['name'])

>> 小廉

进程已结束,退出代码0

 3.2.1 注意事项

  • 字典是无序的,没有下标,可以通过键来取值
  • 字典是不重复的,字典的键如果相同,就取最后一个重复键的值
  • 字典的值是可以改变的,根据键改变值

3.3 集合 set

集合就是一组不重复、且无序的一组数据集合。

集合的表示如下,

在这里有一个注意点,在初始化集合的时候,必须使用set()因为大括号{ }表示字典。

cont = set() # 定义一个空集合
cont2 = {2,4,5,1,2,3} # 给集合初始化值

print(type(cont)) # 查看类型
print(cont2) # 输出值

>> <class 'set'>
>> {1, 2, 3, 4, 5}

进程已结束,退出代码0

 从上面代码不难发现,虽然初始化的集合是无序且有重复项的,但是在你输出集合的时候,它就会输出有序且无重复的集合。

虽然集合本身是可变数据类型,但其实它是不能存储可变数据类型的,只能存储不可变数据类型。如以下操作都是错误的:

{{‘xx’:xx}} 报错
{【xxx,xxx】} 报错
{{1,2,3}}  报错

集合其实是没有下标的

3.3.1 集合的作用

  1. 存储非重复的数据
  2. 将序列类型进行去重(比如去重列表元素)

3.3.2 集合的数学运算

运算符操作python运算符含义
交集&取两集合公共的元素
并集|取两集合全部的元素
差集-取一个集合中另一集合没有的元素
成员运算in和not in判断一个某个元素是否在或者不在集合中

具体案例如下:

set1 = {1,2,3}
set2 = {4,5,6,1,2}

print(set1&set2) # 输出两个集合的交集
print(set1|set2) # 并集
print(set1-set2) # 输出set1中去除set2的元素
print(set2-set1) # 输出set2中去除set1的元素
print(1 in set1) # 看1是否在set1中
print(7 not in set2) # 看7是否不在set2中


>> {1, 2}
>> {1, 2, 3, 4, 5, 6}
>> {3}
>> {4, 5, 6}
>> True
>> True

进程已结束,退出代码0

总结

        在本篇文章中只是简单介绍了除数值类型的其他几种基本数据类型,对于每一种数据类型其实都有各自的方法,对于各自的方法在具体实验中会大有用处,本篇先不做讲解,想要了解更多数据类型的方法可以看我后面更新的文章。

        总体来说,python正是因为有了这些基本数据,才会让数据更好的存储以及访问,在实际例子中,这些类型也会经常用到。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiaoxingk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值