python有六种常见的数据结构:
根据数据结构特性划分:
Python3支持int、float、bool、complex(复数)几种类型的数值
int | float | bool | conplex |
---|---|---|---|
1 | 1.0 | True/False | 1+j |
数值类型的基本操作
A=3,B=2
a = 3
b = 2
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a//b)
print(a%b)
# 声明字符串
var1 = 'hello'
var2 = "hello"
var3 = '''你好'''
var4 = """你好"""
print (var1)
print (var2)
print (var3)
print (var4)
python可以使用[]截取字符串
语法 字符串变量[startIndex:endIndex]
startIndex默认为0,为0时从字符串左侧开始截取,为-1时从右侧开始截取
endIndex默认为字符串长度-1
str = "012345"
print(str[:])
print(str[:6])
print(str[0:])
print(str[0:6])
print(str[-4:])
输出结果为
使用\声明一个转义字符
转义字符 | 作用描述 |
---|---|
\ | 续行符 |
\ | 反斜杠符号() |
' | 单引号 |
" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
\a | 响铃 |
\b | 退格 |
\000或\0 | 空 |
\v | 纵向制表符 |
\f | 换页 |
\0yy | yy是两个八进制数,\012表示换行 |
\xyy | yy是两个十六进制数,\x0a表示换行 |
\other | other是除以上列举的其它字符,其它字符则以普通格式输出 |
操作 | 解释 |
---|---|
分割 | str1.split(str2),以str2为分隔符,分割str1 |
替换 | str1.replace(str2,str3)将str1中的字串str2替换为str3 |
大写 | str.upper()将字符串转为大写 |
小写 | str.lower()将字符串转为小写 |
拼接 | str1.join(str2)将str2中的每个字符以指定的字符串str1拼接组成一个新的字符串 |
格式化输出 | 格式化操作 |
格式化操作符如下:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
str1 = "helloworld"
str2 = "hello"
print(str1.split("o"))
print(str1.replace("world","long"))
print(str1.upper())
print(str1.lower())
print("-".join(str1))
name = "龙"
age = 199
print("我的名字是%s,年龄是%d" % (name,age))
a = Hello,b=Python
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果e |
[ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。 | a[1:4] 输出结果ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
r/R | 可以避免输出转义字符 | print(r'\n') print(R'\n') 输出结果为\n |
列表是一个有序的数据结构,其中的元素可以为任意类型,可以随时修改数据
列表声明使用[]操作符,其中的元素使用,分割
list1 = [1,2,3,"4"]
print(list1)
函数 | 作用 |
---|---|
append() | list.append(item),将元素item添加至列表list尾部 |
insert() | list.insert(item,index),将元素添加至列表list指定位置 |
extend() | list.extend(obj),将可迭代对象obj的每个元素逐个插入列表尾部 |
list1 = [1,2,3,4]
list1.append(5)
print(list1)
list1.insert(0,0)
print(list1)
list2 = [6,7]
list1.extend(list2)
print(list1)
函数 | 作用 |
---|---|
pop() | list.pop(index)删除指定位置元素,index默认是最后一位元素 |
remove() | list.remove(obj)删除给定的第一个出现的obj元素 |
list1 = [1,2,3,4]
list1.pop()
print(list1)
list1.pop(0)
print(list1)
list1.remove(3)
print(list1)
函数 | 作用 |
---|---|
index() | list.index(obj)返回给定元素obj第一次出现位置的下表 |
list1 = [1,2,3,4]
print(list1.index(1))
函数 | 作用 |
---|---|
sort() | list.sort( key=None, reverse=False) 对列表排序默认升序排列 |
list1 = [6,2,3,4]
list1.sort()
print(list1)
list1.sort(reverse = True)
print(list1)
函数 | 作用 |
---|---|
reverse() | list.reverse()将列表中的元素进行逆置 |
list1 = [1,2,3,4]
list1.reverse()
print(list1)
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
元组也是一个有序的序列,一但被创建,无法更改。
元组数据使用小括号包裹,各个元素之间用,分割,若元组只有一个元素,则元组末尾要加,标识符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
与list一致,使用[startIndex:endIndex]操作
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print x, | 1 2 3 | 迭代 |
字典有以下特性:
dict = {'a':1,'b':2}
print(dict)
操作 | 作用 |
---|---|
dict['key']=value | 向字典添加元素,若键已存在,则更新值 |
dict = {'a':1,'b':2}
print(dict)
dict['a'] = 3
print(dict)
dict['c'] = 4
print(dict)
操作 | 作用 |
---|---|
dict.get('key',default=None) | 获取键对应的值,若键不存在返回设置的默认值 |
dict.items() | 返回一个包含所有键值元组的列表 |
dict.keys() | 返回一个所有键组成的列表 |
dict.values() | 返回一个所有值组成的列表 |
dict = {'a':1,'b':2}
print(dict.get('a'))
print(dict.get('c',"不存在"))
print(dict.items())
print(dict.keys())
print(dict.values())
操作 | 作用 |
---|---|
update() | dict.update(dict1)根据dict1更新dict |
dict = {'a':1,'b':2}
dict1 = {'a':3,'c':4}
dict.update(dict1)
print(dict)
操作 | 作用 |
---|---|
dict.pop(key) | 删除并返回key的对应值 |
dict.popitem() | 随机删除并返回一个键值对 |
dict.clear() | 清空字典 |
dict = {'a': 3, 'b': 2, 'c': 4}
print(dict.pop('a'))
print(dict)
print(dict.popitem())
print(dict)
dict.clear()
print(dict)
集合的特点:
空集合使用set()标明,不能直接使用{},因为{}表示一个空字典
# 声明一个集合
set1 = {1,2,3}
print(set1)
#声明一个空集合
set2 = set()
print(set2)
#使用set()声明集合
set3 = set([1,2,3,4])
print(set3)
操作 | 作用 |
---|---|
set.add(obj) | 添加元素,若元素已经存在则不做任何操作 |
set.update(obj) | 添加对象可以是列表、字典等,且可以是多个,用逗号隔开 |
set1 = set([1])
# 添加元素
set1.add(2)
print(set1)
# 添加列表
set1.update([3,4],[5,6])
print(set1)
# 添加元组
set1.update((3,4),(7,8))
print(set1)
# 添加字典
set1.update({'a':1},{'b',9})
print(set1)
操作 | 作用 |
---|---|
set.remove(obj) | 删除指定元素obj,obj不存在会抛出异常 |
set.discard(obj) | 删除指定元素obj,obj不存在不抛出异常 |
set.clear() | 清空集合 |
set.pop() | 随机删除一个元素 |
set1 = {1,2,3,4,5,6}
# 删除元素
set1.remove(1)
print(set1)
set1.discard(1)
print(set1)
# 随机删除元素
set1.pop()
print(set1)
#清空集合
set1.clear()
print(set1)
操作 | 作用 |
---|---|
set1 & set2 | 求交集,得到集合中两个相同的元素 |
set1 ^ set2 | 求对称差集,得到两个集合中不同的元素 |
set1 I set2 | 求并集,得到两个集合所有的元素 |
set1 - set2 | 求差集,set1中包含而set2不包含 |
set1 = set([1,2,3,4])
set2 = set([3,4,5,6])
# 交集
print(set1 & set2)
#并集
print(set1 | set2)
#差集
print(set1 - set2)
#对称差集
print(set1 ^ set2)