在python中print表示的数据类型是_【Python连载】那些必须掌握的Python数据类型

原标题:【Python连载】那些必须掌握的Python数据类型

经过近几年的发展,Python已成为了数据科学和机器学习的首选语言,许多人也因此开始走上自学python之路。从今天开始,本公众号将陆续分享Python的基础操作,希望能够给予开始入门python的小白一点帮助。话不多说,那么今天先给大家分享一下python中的常用类型及其应用。

f6ba0d7d9c7a4f80a7c141ea8840e94a.jpeg

1.字符串

字符串是 Python 中最常用的数据类型。

1.1 创建字符串

我们可以使用引号 ' 或 " 来创建字符串。

s1 = 'haha1'

s2 = "haha2"

print(s1) # haha1

print(s2) # haha21.2 字符串截取与拼接

通过方括号的形式来截取字符串

s1 = 'Hello World!'

s2 = "abcd dcba"

print ("s1[0]: ", s1[0]) # 结果为: s1[0]: H

print ("s2[0:5]: ", s2[0:5]) # 结果为: s2[0:5]: abcd

除此之外,还可以将截取字符串的一部分与其他字段拼接

s1 = 'Hello World!'

s2 = s1[0:6] + 'ABC'

print(s2) # Hello ABC1.3 转义字符

在需要在字符中使用特殊字符时,python用反斜杠''转义字符

# 常用的转义字符有:n表示换行;t表示横向制表符;表示反斜杆符号

s1 = 'abcndef'

print(s1)

# abc

# def

s2 = 'abctdef'

print(s2)

# abc def

s3 = 'abcdef'

print(s3)

# abcdef1.4 字符串运算符

具体字符串运算符如下表所示

7166aefe5c674b78b1bbe57c9d161f31.jpeg

下面举栗说明

s1 = 'I am a'

s2 = ' handsome boy!'

s3 = s1 + s2

print(s3) # I am a handsome boy!

print(s3*2) # I am a handsome boy!I am a handsome boy!

print(s3[2]) # a

print(s3[16:19]) # boy

print('c' in s3) # False

print('c' not in s3) # True

print('%s abc'%11) #11 abc1.5 字符串的常用内置函数

在python中,可以通过字符串的内置函数来快速实现某些功能。

9afeecdd7b984d47a853411e864fb4b9.jpeg

具体操作如下

s = 'abc 123 abc 456'

print(s.count('abc')) #2

print(s.upper) #ABC 123 ABC 456

print(len(s)) #15

print(s.replace('abc','ok')) #ok 123 ok 456

s2 = ' AA11 '

print(s2.lower) # aa11

print(s2.strip) # AA112.元组

元组是一个固定长度且不可改变的Python序列对象。

2.1 创建元组

可以通过以下方式来创建元组

tu=(1)

tu2=(1,)

tu3=(1,2,3,4)

tu4=1,2,3,4

type(tu4)

# 输出结果为:tuple

用tuple可以将任意序列或迭代器转换成元组

tup = tuple('string')

tup

# 输出结果为:('s', 't', 'r', 'i', 'n', 'g')2.2 访问元组元素

元组可以使用下标索引来访问元组中的值

t1 = ('abc','123','456',111)

print(t1[0]) # abc

print(t1[1:3]) # ('123', '456')2.3 修改元组

元组是不可变的对象,但如果元组中的某个对象是可变的,比如列表,则可以对这个对象进行修改

tup = tuple(['foo', [1, 2], True])

tup[1].append(3)

tup

# 输出结果为:('foo', [1, 2, 3], True)

还可以使用加法和乘法串联

tup1 = (4, None, 'foo') + (6, 0) + ('bar',)

tup2 = ('foo', 'bar') * 5

tup1,tup2

# 输出结果为:

((4, None, 'foo', 6, 0, 'bar'),

('foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar'))2.4 元组拆分与替换

如果你想将元组赋值给类似元组的变量,Python会试图拆分等号右边的值

tup = (4, 5, 6)

a, b, c = tup

a,b,c

# 输出结果为:(4, 5, 6)

可以进行简单的元组替换

a,b = 1,2

b,a = a,b

a,b

# 输出结果为:(2, 1)

目前Python还支持更高级的元组拆分功能,允许从元组的开头“摘取”几个元素。

#它使用了特殊的语法*rest,这也用在函数签名中以抓取任意长度列表的位置参数

values = 1, 2, 3, 4, 5

a,b,*rest = values

a,b,rest

#rest的部分是想要舍弃的部分,rest的名字不重要。作为惯用写法,许多Python程序员会将不需要的变量使用下划线,即*_

# 输出结果为:(1, 2, [3, 4, 5])2.5 元组的内置函数

可以使用count来统计某个值的出现频率

a = (1, 2, 2, 2, 3, 4, 2)

a.count(2)

# 输出结果为:4

元组还可以通过len来查看元素个数

print(len(a)) # 73.列表

与元组对比,列表属于可变的数据类型,它的长度和内容都可变。因此列表可以执行添加、删除。

3.1 创建列表

我们可以通过以下方式来创建列表,列表里的元素可以是不同数据类型的

li = [1,2,3,4]

li2 = ['a','b','c','d']

li3 = [1,2,'a','b']3.2 添加元素

可以通过append方法在列表末尾添加元素

a_list = [2, 3, 7, None]

a_list.append('dwarf')#append在列表末尾添加元素

a_list

# 输出结果为:[2, 3, 7, None, 'dwarf']

使用extend方法可以追加多个元素

x = [4, None, 'foo']

x.extend([7, 8, (2, 3)])

x

# 输出结果为:[4, None, 'foo', 7, 8, (2, 3)]3.3 插入元素

通过insert方法向列表的特定位置插入元素

x.insert(2,'abc')

x # [4, None, 'abc', 'foo', 7, 8, (2, 3)]3.4 删除元素

使用pop移除并返回指定位置的元素

x.pop(2)

# 输出结果为:'abc'

我们还可以通过remove来删除列表元素

x.append('foo')#在末尾加上'red'。这样就有两个'foo'值

# 此时的x为:[4, None, 'foo', 7, 8, (2, 3), 'foo']

x.remove('foo')#remove会先寻找第一个值并除去

x

# 输出结果为:[4, None, 7, 8, (2, 3), 'foo']3.5 切片、拼接、遍历

切片可以选取大多数序列类型的一部分,切片的基本形式是在方括号中使用。切片的起始元素是包括的,不包含结束元素。

seq = [7, 2, 3, 7, 5, 6, 0, 1]

seq[1:5],seq[:5] # start或stop都可以被省略,省略之后,分别默认序列的开头和结尾

# 输出结果为:([2, 3, 7, 5], [7, 2, 3, 7, 5])

a = [1,2,3]

a = a + [6,8,7] # 进行拼接操作

print(a) # [1, 2, 3, 6, 8, 7]

我们可以通过以下方式来遍历列表元素

#遍历

lists = ["m1", 1900, "m2", 2000]

#1.使用iter

for val in iter(lists):

print(val)

#2.enumerate遍历方法

for i, val in enumerate(lists):

print(i, val)

#3.索引遍历

for index in range(len(lists)):

print(lists[index])4.字典

字典是另一种可变容器模型,且可存储任意类型对象。字典使用花括号{}包括,键和值之间用冒号':'分割,每对键-值用逗号','分割。键必须唯一,即一个键不能对应多个值,不过多个键可以指向一个值。

4.1 创建字典

可以通过以下方法创建字典

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

d1 = {'a' : 'some value', 'b' : [1, 2, 3, 4]}

d14.2 访问字典元素

把相应的键放入到方括号中即可访问字典元素

print(d1['a']) # 'some value'

但是要注意,如果用字典里没有的键访问数据时,会输出错误。因此我们可以使用get方法来获取字典元素,当访问不存在的键时,不会出现报错。

print(d1.get('a')) # some value

print(d1.get('h','该键不存在')) # 该键不存在4.3 修改字典

添加字典元素,或者修改原字典键对应的值的方法如下

d1['c'] = [6,8,9] # 添加元素

d1['a'] = 'haha' # 更新a

d1

# 结果:{'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9]}

同样,我们也可以使用update方法来实现字典元素的添加和修改

d1.update({'b' : 'foo', 'c' : 12, 'd':'yes'}) # 原d1:{'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9]}

d1 # {'a': 'haha', 'b': 'foo', 'c': 12, 'd': 'yes'}4.4 删除字典元素

可以使用pop或del关键字来删除值

d1[5] = 'some value'

print(d1) # {'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9], 5: 'some value'}

d1['dummy'] = 'another value'

print(d1) # {'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9], 5: 'some value', 'dummy': 'another value'}

del d1[5]

print(d1) # {'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9], 'dummy': 'another value'}

ret = d1.pop('dummy') # pop可以返回要删除的字典元素的值

ret,d1 # ('another value', {'a': 'haha', 'b': [1, 2, 3, 4], 'c': [6, 8, 9]})4.5 字典内置函数

通过len获取字典元素个数,即键的总数

d = {'a':123,'b':[4,5,6]}

print(len(d)) # 2

通过str可以以字符串形式输出字典

print(str(d)) # "{'a': 123, 'b': [4, 5, 6]}"

获取字典的键和值

list(d1.keys),list(d1.values)

# 结果:(['a', 'b', 'c'], ['haha', [1, 2, 3, 4], [6, 8, 9]])4.6 字典其余常用操作

字典遍历方法如下

#1.遍历key值 在使用上,for key in a和 for key in a.keys:完全等价。

a={'a': '1', 'b': '2', 'c': '3'}

print("遍历key值:")

for key in a:

print(key+':'+a[key])

#2.遍历value值

print("遍历value值:")

for value in a.values:

print(value)

#3.遍历字典项

print("遍历字典项:")

for kv in a.items:

print(kv)

#4.遍历字典键值

print("遍历字典健值:")

for key,value in a.items:

print(key+':'+value)

字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。如果要以特定的顺序返回元素,一种办法是在for 循环中对返回的键进行排序。

favorite_languages = {

'jen': 'python',

'sarah': 'c',

'edward': 'ruby',

'phil': 'python',

}

for name in sorted(favorite_languages.keys):

print(name.title + ", thank you for taking the poll.")

# 输出结果如下:

Edward, thank you for taking the poll.

Jen, thank you for taking the poll.

Phil, thank you for taking the poll.

Sarah, thank you for taking the poll.

根据key找value

d = {'a' : [1, 2, 3], 'b' : [4, 5],'c':[1,2,3,4] }

key = ['a','c']

value=[]

for k in key:

value.append(d[k])

value # [[1, 2, 3], [1, 2, 3, 4]]

根据value找key

#根据value找key

d = { 'a' : [1, 2, 3], 'b' : [4, 5],'c':[1,2,3] }

value = [1,2,3]

t=[k for k,v in d.items if v == value]

print(t) # ['a', 'c']5.集合

集合是无序的不可重复的元素的集合。

5.1 创建集合

可以通过以下方法来创建集合

# 两种方式创建集合:

# 通过set函数

s1 = set([2, 2, 2, 1, 3, 3])

# 或使用尖括号{}

s2 = {2, 2, 2, 1, 3, 3}

print(s1) # {1, 2, 3}

print(s2) # {1, 2, 3}5.2 添加元素

使用add方法可以将元素添加到集合中

set1 = set(('a', 'bb', 'ccc'))

set1.add('dddd')

set1 # {'a', 'bb', 'ccc', 'dddd'}

除了add方法外,还可以使用update方法来添加元素,且参数可以是列表,元组,字典等

set1.update({5,6})

set1 # {5, 6, 'a', 'bb', 'ccc', 'dddd'}5.3 删除元素

使用remove方法将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

set1.remove('a')

set1 # {5, 6, 'bb', 'ccc', 'dddd'}

discard方法同样移除集合中的元素,且如果元素不存在,不会发生错误。

set1.discard('h') # 不存在的元素,但不会报错

set1 # {5, 6, 'bb', 'ccc', 'dddd'}

最后,还可以使用pop方法随机删除集合中的一个元素

set1.pop

set1 # {5, 6, 'bb', 'ccc'}5.4 集合运算

集合支持合并、交集、差分和对称差等数学集合运算

0297d8a75e1a4156a7d618c3fc8a50c2.jpeg

下面举一些例子

a = {1, 2, 3, 4, 5}

b = {3, 4, 5, 6, 7, 8}

print(a.union(b)) # {1, 2, 3, 4, 5, 6, 7, 8}

print(a.intersection(b)) # {3, 4, 5}

c = a.copy

c |= b

print(c) # {1, 2, 3, 4, 5, 6, 7, 8}

d = a.copy

d &= b

print(d) # {3, 4, 5}6.常用序列函数 6.1 enumerate函数

enumerate 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

seasons = ['Spring','Summer','Fall','Winter']

for i,ele in enumerate(seasons):

print(i,ele)

# 结果如下:

0 Spring

1 Summer

2 Fall

3 Winter6.2 sorted函数

sorted函数可以从任意序列的元素返回一个新的排好序的列表

print(sorted([7, 1, 2, 6, 0, 3, 2])) # [0, 1, 2, 2, 3, 6, 7]

print(sorted('horse race')) # [' ', 'a', 'c', 'e', 'e', 'h', 'o', 'r', 'r', 's']6.3 zip函数

zip可以将多个列表、元组或其它序列成对组合成一个元组列表.zip可以处理任意多的序列,元素的个数取决于最短的序列。

seq1 = ['foo', 'bar', 'baz']

seq2 = ['one', 'two', 'three']

zipped = zip(seq1, seq2)

print(list(zipped)) # [('foo', 'one'), ('bar', 'two'), ('baz', 'three')]

zip的常见用法之一是同时迭代多个序列,可能结合enumerate使用

for i, (a, b) in enumerate(zip(seq1, seq2)):

print('{0}: {1}, {2}'.format(i, a, b))

# 结果如下:

0: foo, one

1: bar, two

2: baz, three6.4 reversed函数

reversed 函数返回一个反转的迭代器。

aa = range(10)

rr = reversed(aa)

print(list(rr)) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

至此,本次分享已结束如果你喜欢的话,可以转发或者点个“在看”支持一下~点击原文链接,可以下载《Python工具代码速查手册》,可以点个star支持一下哦~简介:浩彬老撕 好玩的数据炼丹师, 曾经的IBM数据挖掘攻城狮, 还没开始就过气数据科学界的段子手, 致力于数据科学知识分享,不定期送书活动 返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值