常见数据类型及操作
2018-09-21 本文已影响0人
Bug2Coder
字符串
- 切片
切片的语法:[起始:结束:步长]
name = 'abcdef'
print(name[0:3]) # 取 下标0~2 的字符
- 字符串反转
print(name[::-1])
- 查找
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
- 出现次数
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
- 替换
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次
mystr.replace(str1, str2, mystr.count(str1))
- 切片
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)
- 单词首字母大写
a = "hello world"
>>> a.title()
'Hello World'
- 全部大写
mystr.lower()
- 全部小写
mystr.lower()
- 按行分割
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
- 判断字母
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
- 全是数字
如果 mystr 只包含数字则返回 True 否则返回 False
mystr.isdigit()
- 数字或字母
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
- 拼接
mystr 中每个字符后面插入str,构造出一个新的字符串
mystr.join(str)
列表
- 循环遍历输出
- for循环遍历
namesList = ['xiaoWang','xiaoZhang','xiaoHua'] for name in namesList: print(name)
- while循环遍历
namesList = ['xiaoWang','xiaoZhang','xiaoHua'] length = len(namesList) i = 0 while i<length: print(namesList[i]) i+=1
- 添加元素
- append追加元素
A = ['xiaoWang','xiaoZhang','xiaoHua'] A.append("xiaogang")
- extend可以将另一个集合中的元素逐一添加到列表中
a = [1, 2] >>> b = [3, 4] >>> a.append(b) >>> a [1, 2, [3, 4]] >>> a.extend(b) >>> a [1, 2, [3, 4], 3, 4]
- insert
insert(index, object)
在指定位置index前插入元素object
>>> a = [0, 1, 2] >>> a.insert(1, 3) >>> a [0, 3, 1, 2]
- 修改元素
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改 - 查找元素
- in, not in
python中查找的常用方法为: in(存在),如果存在那么结果为true,否则为false not in(不存在),如果不存在那么结果为true,否则false
- index, count
index和count与字符串中的用法相同 >>> a = ['a', 'b', 'c', 'a', 'b'] >>> a.index('a', 1, 3) # 注意是左闭右开区间 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 'a' is not in list >>> a.index('a', 1, 4) 3 >>> a.count('b') 2 >>> a.count('d') 0
- 删除元素
- del:根据下标进行删除
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情'] del movieName[2] # 删除第一滴血
- pop:删除最后一个元素
movieName.pop() # 删除最后一个
- remove:根据元素的值进行删除
movieName.remove('指环王')
- 排序
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置
>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改和删除。元组使用小括号,列表使用方括号
- 访问元组(根据下标)
tuple = (1,3,2,5)
tuple[1]
- 查找和出现次数
index和count与字符串和列表中的用法相同
>>> a = ('a', 'b', 'c', 'a', 'b')
>>> a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2
>>> a.count('d')
0
字典
- 修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
- 添加元素
如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
demo:添加新的元素
- 删除元素
del删除指定的元素
del info[key]
del删除整个字典
del info
clear清空整个字典
info.clear()
- 数据长度
len(info)
- key的获取
info.keys()
- value的获取
info.values()
- 键值对列表
info.items()
返回[(key:value),(key:value)]
公共方法
运算符 | Python 表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组 |
* | 'Hi!' * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 复制 | 字符串、列表、元组 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
python内置函数
序号 | 方法 | 描述 |
---|---|---|
1 | cmp(item1, item2) | 比较两个值 |
2 | len(item) | 计算容器中元素个数 |
3 | max(item) | 返回容器中元素最大值 |
4 | min(item) | 返回容器中元素最小值 |
5 | del(item) | 删除变量 |