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
以上主要介绍了常用数据类型的简单使用,具体用法还需多多实践。