【摘要】在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注python就业方向问题,今天环球网校的小编就来和大家讲讲python核心数据类型。
python核心数据类型包括数字、字符串、元组、列表、字典、文件、集合
字符串、元组是不可变的,列表、字典是可变的
1、python核心数据类型——字符串
字符串是用来记录文本信息的,可以把字符串看作是单个字符组成的序列,其他类型的序列还包括列表和元组。
S = 'python'
print(len(S)) # 6
print(S[0]) # p
print(S[:])# python
print(S[1:])# ython
print(S[:-1])# pytho
print(S[1:3])# yt
字符串作为序列也支持加号合并操作
S = 'python'
print(S + 'is very easy') # python is very easy
print(S * 2) # pythonpython
字符串的find方法是对子字符串进行查找,存在的情况下将返回子字符串的索引,不存在的情况下将返回-1,而replace方法将会对全局进行搜索和替换
>>> s = 'abc'
>>> print(s.find('b'))
1
>>> print(s.find('d'))
-1
>>> print(s.replace('ab','de'))
dec
>>>
>>> print(s.upper())
ABC
>>> print(s.isalpha())
True
>>>
字符串大小写转换,upper()方法转大写,lower方法转小写,capitalize()方法把首字母转大写,
title()方法把每个单词的第一个字母大小,其余小写
s = 'aBc'
>>> print(s.upper())
ABC
>>> print(s.lower())
abc
>>>
>>> s = 'www.baidu.com'
>>> print(s.capitalize())
>>> print(s.title())
>>>
字符串支持格式化的高级替代操作,可以以一个表达式的形式和一个字符串方法调用形式使用
>>> print('%s like eat %s' % ('I','egg!'))
I like eat egg!
>>> print('{0} like eat {1}'.format('I','egg!'))
I like eat egg!
>>>
2、python核心数据类型——列表
列表是一个任意类型的对象的位置相关的有序集合。前面讲到字符串、列表都是序列的一种,两者唯一的区别是字符串不可变,而列表大小是可变的,所以能同样对列表进行索引、切片
>>> L = [123,'PYTHON',1.23]
>>> print(L[0])
123
>>> print(L[2])
1.23
>>> print(L[:-1])
[123, 'PYTHON']
>>> print(L[:])
[123, 'PYTHON', 1.23]
>>> print(L[1:3])
['PYTHON', 1.23]
>>>
列表也可以使用append()方法添加元素,使用pop()方法删除元素,pop()方法不带参数时默认删除最后一个元素,带参数时删除指定索引的元素
>>> L = [123,'PYTHON',1.23]
>>> L.append('java')
>>> print(L)
[123, 'PYTHON', 1.23, 'java']
>>> L.pop(1)
PYTHON'
>>> print(L)
[123, 1.23, 'java']
>>>
列表虽然没有固定大小,但不允许引用不存在的元素,超出列表末尾之外的引用会导致错误
>>> L = [123,'PYTHON',1.23]
>>> L[11]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
>>>
3、python核心数据类型——嵌套
python核心数据类型的一个优秀的特性是它可以支持任意的嵌套,例如:一个列表包含一个字典,并在这个字典中包含另一个列表;python中的多维数组,一个嵌套列表的列表可以完成基本操作
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> print(M[1])
[4, 5, 6]
>>> print(M[1][2])
6
>>>
4、python核心数据类型——列表解析
列表解析能够处理矩阵这样结构的强大工具,矩阵是按照行进行存储的,所以通过简单的索引即可获取行,使用列表解析可以获取列,下面例子是获取第三列
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> colum2 = [row[2] for row in M]
>>> print(colum2)
[3, 6, 9]
>>>
列表解析源自集合的概念,它是一种通过对序列中的每一项运行一个表达式来创建一个新列表的方法,
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> c = [row[2] + 1 for row in M]
>>> print(c)
[4, 7, 10]
>>> c = [row[2] for row in M if row[2] % 2 ==0] #取第二列中为偶数的元素
>>> print(c)
[6]
>>>
>>> diag = [M[i][i] for i in [0,1,2]] #取对角线元素
>>> print(diag)
[1, 5, 9]
>>>
括号中的解析语法也可以用来创建产生所需结果的生成器
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> G = (sum(row) for row in M)
>>> print(next(G))
6
>>> print(next(G))
15
>>> print(next(G))
24
>>>
内置函数map也可以做类似的事情,产生对各项运行一个函数的结果,在python3中,将其包装到列表中,会使其返回所有值
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> print(list(map(sum,M)))
[6, 15, 24]
>>>
在python3中,解析语法也可以用来创建集合和字典
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> G = {sum(row) for row in M}
>>> print(G)
{24, 6, 15}
>>> F = {i : sum(M[i]) for i in range(3)}
>>> print(F)
{0: 6, 1: 15, 2: 24}
>>>
5、python核心数据类型——字典
字典通俗的理解就是key-value 关系,通过key值找对应的value,内置的sorted函数可以对字典的key排序,
>>> dic = {'a':2,'c':1,'b':3}
>>> for key in sorted(dic):
...
... print(key,'=>',dic[key])
...
a => 2
b => 3
c => 1
>>>
获取不存在的键会出现错误,但可以通过if进行测试判断
>>> dic = {'a':2,'c':1,'b':3}
>>> print(dic['d'])
Traceback (most recent call last):
File "", line 1, in
KeyError: 'd'
>>>
>>> dic = {'a':2,'c':1,'b':3}
>>> if 'd' not in dic:
... print("missing")
...
missing
{'a': 2, 'c': 1, 'b': 3}
>>> value = dic['d'] if 'd' in dic else 0
>>> print(value)
0
>>>
>>> value = dic['b'] if 'b' in dic else 0
>>> print(value)
3
>>>
sort 与sorted区别 sort会改变原来的,而sorted不会改变原来的,相当于新建了一个
>>> list = [0,3,5,-1,4,6]
>>> list.sort()
>>> print(list)
[-1, 0, 3, 4, 5, 6]
>>> list = [0,3,5,-1,4,6]
>>> sorted(list)
[-1, 0, 3, 4, 5, 6]
>>> print(list)
[0, 3, 5, -1, 4, 6]
基于key值的排序
>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]
>>> list.sort()
>>> print(list)
[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]
>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]
>>> list.sort(key = lambda x:x[2])
>>> print(list)
[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]
reverse=False为升序排序;reverse=True为降序排序
>>> list = [0,3,5,-1,4,6]
>>> list.sort(reverse=False)
>>> print(list)
[-1, 0, 3, 4, 5, 6]
>>> list.sort(reverse=True)
>>> print(list)
[6, 5, 4, 3, 0, -1]
>>>
以上就是有关于python核心数据类型的全部内容,小编希望大家所学的python知识可以用在自己的工作领域中,毕竟作为一个应用类的技能,最终还是要应用在实际领域中才能发挥它的作用,环球网校的小编在这里祝大家学有所成,并彻底掌握python的使用方法。