博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习笔记02-数据类型
阅读量:7010 次
发布时间:2019-06-28

本文共 5311 字,大约阅读时间需要 17 分钟。

clipboard.png

0. 基本数据类型

基本数据类型比较简单,通过以下例子演示:

print(type(1))print(type(1.0))print(type(True))print(type(False))print(type(-1 + 2j))

运行结果如下:

1.通用序列操作

1.1 索引-indexing

通过索引获取序列的单个元素,也可以使用负数索引。从左向右索引从0开始,从右向左索引从-1开始。

greeting = 'HelloWrold'print(greeting[0])  # Hprint(greeting[-1]) # d

1.2 分片-sliceing

分片操作用于提取序列的一部分。相当于[)半开区间提取。

L = [1,2,3,4,5,6,7,8,9,10]print(L[0:1]) # [1]print(L[-3:-1]) # [8,9] print(L[3:]) # [8,9,10]print(L[:3]) # [1,2,3]print(L[:]) # [1,2,3,4,5,6,7,8,9,10]

设置参数步长,负数步长表示从右侧开始提取元素。

print(L[::4]) # [1,5,9]  每4个元素取第一个print(L[::-2]) # [10,8,6,4,2]  每2个元素取第一个,反向提取print(L[10:0:-2]) # [10,8,6,4,2]  每2个元素取第一个,反向提取print(L[0:10:-2]) # []  print(L[8:3:-1]) # [9,8,7,6,5]print(L[5::-2]) # [6,4,2]print(L[:5:-2]) # [10,8]

1.3 加-adding

通过使用+号进行序列的连接操作。

  • 注意:相同类型的序列才可以进行连接操作。
[1,2,3] + [4,5,6] # [1,2,3,4,5,6]'hello' + 'world' # 'helloworld'

1.4 乘-multiplying

序列可以通过乘以数字,来生成新的序列。

'py' * 5 # 'pypypypypy'[1,2,3] * 2 # [1,2,3,1,2,3]

1.5 长度,最小值和最大值

len([1,2,3]) # 3min([1,2,3]) # 1max([1,2,3]) # 3

2. 列表

  • 列表是可变的(mutable)-可以改变列表的元素。

2.1 创建列表

可以通过list函数创建列表。

# 通过字符串创建列表l = list('Hello') # ['H','e','l','l','o']# 将字符列表转换为字符串s = ''.join(l) # Hello

2.2 修改列表

# 1.元素赋值l = [1,2,3]l[1] = 5print(l) # [1,5,3]# 2.删除元素del l[1] # [1,3]# 3.分片赋值name = list('peter')name[1:] = list('ython')print(name) # ['p','y','t','h','o','n']num = [1,5]num[1:1] = [2,3,4] # 插入元素print(num)  # [1,2,3,4,5]num[1:4] = [] # 删除元素print(num) # [1,5]

2.3 列表方法

方法 描述
append() 在列表末尾追加元素
count() 统计某个元素在列表中出现的次数
extend() 用新列表扩展旧列表
index() 获取元素在列表中第一个匹配项的位置
insert() 将元素插入列表
pop() 从列表移除元素,默认最后一个
remove() 移除列表中第一个匹配项
reverse() 列表元素反向
sort() 排序

3. 元组

元组是一种不能修改的序列。它的操作和方法与列表类似。

3.1 创建

(1,)() #空元组tuple([1,2,3]) # (1,2,3)tuple('abc')  #('a','b','c')

3.2 元组方法

方法 描述
count() 统计某个元素在列表中出现的次数
index() 返回指定元素的索引

4. 字典

字典的常用操作

d = {'a': 1, 'b': 2, 1: 'one', 2: 'two', 3: [1, 2, 3]}print(type(dict))print(type(d))print(d)# 访问元素print(d['a'])print(d[1])print(d[3])# 判断key是否存在print('two' in d)print(3 in d)del(d[3])   # del(dict[key])print(len(d)) #键值对的个数d[3] = [1, 2, 3, 4]d[3] = '1234'print(d.keys()) #返回一个包含字典所有KEY的列表print(d.values()) #返回一个包含字典所有value的列表print(d.items()) #返回一个包含所有(键,值)元祖的列表# 判断#dict.has_key(key)如果key在字典中,返回True,否则返回Falseprint(d.has_key('a')# 遍历for key in d:    print(d[key])print('...')for k, v in d.items():    print(k, v)print('...')keys = d.keys()print(type(keys))print(keys)

4.1 字典方法

方法 描述
items() 将字典转换为键,值作为元组的列表
keys() 键列表
values() 值列表
clear() 清除所有元素
copy() 深复制
update() 在原字典上合并字典,键相同的会被覆盖
get() 取得某个键对应的值
popitem() 随机弹出键值对pop() 随机弹出某个键值对

5. 集合

集合常见操作

s1 = set([1,2,2,3,3,4,5,6,7])s2 = set([4,5,6,7,8,9])# 判断元素是否存在print(5 in s1)print(10 in s2)# 并集print(s1 | s2)print(s1.union(s2))# 交集print(s1 & s2)print(s1.intersection(s2))# 差集 A - (A&B)print(s1 - s2)print(s1.difference(s2))# 对称差 (A | B) - (A & B)print(s1 ^ s2)print(s1.symmetric_difference(s2))# 修改元素s1.add('x')s1.update([4,5,10,11])print(s1)s1.remove(11)print(s1)print(len(s1))

结果

TrueFalse{1, 2, 3, 4, 5, 6, 7, 8, 9}{1, 2, 3, 4, 5, 6, 7, 8, 9}{4, 5, 6, 7}{4, 5, 6, 7}{1, 2, 3}{1, 2, 3}{1, 2, 3, 8, 9}{1, 2, 3, 8, 9}{1, 2, 3, 4, 5, 6, 7, 10, 11, 'x'}{1, 2, 3, 4, 5, 6, 7, 10, 'x'}9

5.1 集合方法

方法 描述
add() 添加元素
pop() 弹出元素
update() 合并集合

6. 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'var2 = "Python Runoob"

6.1 原始字符串

原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

>>> r'hello/n'hello/n

6.2 Unicode字符串

Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

>>> u'Hello World !'u'Hello World !'

引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:

>>> u'Hello\u0020World !'u'Hello World !'

被替换的 u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)。

6.3 字符串常用操作

import string# 去除空格s = '  hello python  'print(s.strip())  # 删除两边的空格print(s.lstrip()) # 删除左边的空格print(s.rstrip()) # 删除右边的空格print(s)# 连接字符串s1 = 'hello's2 = 'python'print(s1 + ' ' + s2)# 大小写str_1 = 'HeLloWorlD'print(str_1.upper())print(str_1.lower())print(str_1.capitalize()) # 首字母大写# 位置和比较str1 = 'abcdefg'str2 = 'abdefgh'print(str1.index('c'))print(str1.index('de'))try:    print(str1.index('dd'))except ValueError:    print('ValueError:substring not found')    # 比较    print(str1 == str2)    print(str1 > str2)    print(str1 < str2)# 分割和连接s = 'I,Love,Python'print(s.split(','))num = '123\n456\n789'nums = num.splitlines() # 按行分割print(nums)print('-'.join(nums))print(' '.join(s.split(',')))# 字符串长度print(len('abcd'))# 数字转字符串print(str(10))print(str(10.0))print(str(-10))print(int('123'))# 格式化字符串print('Hello %s!' %'python')print('%d %.2f %s' %(10,1.2,'python'))# 常用判断s_1 = 'abcdefg'print(s_1.startswith('abc')) # 是否以'abc'开头print(s_1.endswith('efg'))   # 是否以'efg'结尾print('abc123'.isalnum()) # 是否正常字母和数字print('\tabc123'.isalnum()) # 有转义字符print('abc'.isalpha()) # 是否字母print('123'.isdigit()) # 是否数字print(' '.isspace())   # 是否空格print('abc'.islower()) # 是否小写print('ABC'.isupper()) # 是否大写print('Hello World!'.istitle()) # 是否标题(检测字符串中是否所有单词首字母大写,且其他字母小写)

结果如下:

hello pythonhello python    hello python  hello python  hello pythonHELLOWORLDhelloworldHelloworld23ValueError:substring not foundFalseFalseTrue['I', 'Love', 'Python']['123', '456', '789']123-456-789I Love Python41010.0-10123Hello python!10 1.20 pythonTrueTrueTrueFalseTrueTrueTrueTrueTrueTrue

End

以上主要介绍了常用数据类型的简单使用,具体用法还需多多实践。

转载地址:http://mdntl.baihongyu.com/

你可能感兴趣的文章