文章目录
- 列表
- 一. 添加元素
- 1. append() 在末尾添加元素
- 2. insert() 插入指定列表置
- 3. extend() 用于拓展列表,两个列表的合并
- 二. 删除元素
- 1. remove() 删除元素
- 2. pop() 删除元素
- 三. 遍历列表元素与格式化函数
- 四. 列表排序反转查找
- 1. reverse() 反转列表元素
- 2. sort() 排序
- 3. index() 查找在列表中第一次出现的索引
- 字符串
- 一. 修改字符串大小写
- 1. title() title用于回显首字母大写
- 2. upper() 全部字符串大写
- 3. lower() 字符串全部小写
- 4. find() 查找字符串中的某个字串,找到返回第一个的索引,找不到返回 -1
- 5. join() join与split相反,用于合并序列的元素
- 6. replace() 替换指定字符串字串
- 7.split() 与join相反,用于将字符串拆分为列表
- 二. 合并(拼接)字符串
- 1. +
- 2. 拼接直接在+号后面添加
- 三. 删字符串中的空格
- 1. rstrip() 删除末尾的空格
- 2. lstrip() 去除首位的空格
- 3. replace() 去除全部空格
- 列表,字符串 的基础函数
- 1. len() 统计并返回 (字符串,列表,字典中的个数)
- 2. min(),max() 最大写,最小写
- 3. list() 转换为列表
- 元组与字典
- 1. clear() 删除所以字典项
- 2. copy() 浅复制
- 3. copy() 深复制
- 4. fromkeys() 创建一个新字典,包含指定key
- 5. get() 使用get 方法提取字典中没有的项返回指定内容
列表
列表是 python 数据结构中存储对象数组最快捷的方式,内置多种对列表的操作方法。
一. 添加元素
1. append() 在末尾添加元素
>>> portlist = []
>>> portlist.append(20)
>>> portlist.append(21)
>>> portlist
[20, 21]
2. insert() 插入指定列表置
>>> portlist
[20, 21, 53, 80, 8080]
>>> portlist.insert(3,443)
>>> portlist
[20, 21, 53, 443, 80, 8080]
3. extend() 用于拓展列表,两个列表的合并
>>> a = [111,222,333]
>>> b = [444,555]
>>> a
[111, 222, 333]
>>> b
[444, 555]
>>> a.extend(b)
>>> a
[111, 222, 333, 444, 555]
>>> b
[444, 555]
>>>
二. 删除元素
1. remove() 删除元素
a = [111,222,333,'fff','北京']
a.remove(333)
print a
[111, 222, 'fff', '\xe5\x8c\x97\xe4\xba\xac']
2. pop() 删除元素
a = [111,222,333,'fff','北京']
a.pop(2)
print a
[111, 222, 'fff', '\xe5\x8c\x97\xe4\xba\xac']
三. 遍历列表元素与格式化函数
格式化函数:
# coding=utf-8
str_a = "hello"
str_b = "python"
str_c = "wp"
print "{0} {1} {2}".format(str_c,str_a,str_b)
wp hello python
遍历列表:
a = [111,222,333,'fff','北京']
for i in a:
print i
111
222
333
fff
北京
四. 列表排序反转查找
1. reverse() 反转列表元素
a = [111,222,333,'fff','北京',777,666]
a.reverse()
print a
[666, 777, '\xe5\x8c\x97\xe4\xba\xac', 'fff', 333, 222, 111]
2. sort() 排序
a = [111,222,333,'fff','999',777,666]
a.sort()
print a
[111, 222, 333, 666, 777, '999', 'fff']
高级排序
# coding=utf-8
knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
num = knights.sort(key=len)
print knights
['We', 'ni', 'are', 'the', 'who', 'say', 'knights']
3. index() 查找在列表中第一次出现的索引
# coding=utf-8
knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
num = knights.index('say')
print num
5
字符串
操作字符串的一些方法
一. 修改字符串大小写
1. title() title用于回显首字母大写
>>> strs = "zifucuan"
>>> strs.title()
Zifucuan
2. upper() 全部字符串大写
>>> strs = "zifucuan"
>>> strs.upper()
ZIFUCUAN
3. lower() 字符串全部小写
>>> strs = "zifUcuan"
>>> strs.lower()
zifucuan
4. find() 查找字符串中的某个字串,找到返回第一个的索引,找不到返回 -1
# coding=utf-8
str_a = "abcdefgababjkloekdd"
str_find = str_a.find('a')
str_find = str_a.find('t')
print str_find
0
-1
5. join() join与split相反,用于合并序列的元素
# coding=utf-8
str_a = ['1','2','3','4','5']
str_b = '+'
str_c = str_b.join(str_a)
print str_c
1+2+3+4+5
6. replace() 替换指定字符串字串
# coding=utf-8
str_a = "hello world"
print str_a.replace('world','python')
hello python
7.split() 与join相反,用于将字符串拆分为列表
# coding=utf-8
str_a = "hello_world_hello_python_hello_wp"
print str_a.split('_')
['hello', 'world', 'hello', 'python', 'hello', 'wp']
二. 合并(拼接)字符串
1. +
合并字符串使用 + 实现
>>> name_1 = "abc"
>>> name_2 = "def"
>>> name_3 = name_1 + name_2
>>> name_3
abcdef
2. 拼接直接在+号后面添加
>>> name_3
abcdef
>>> name_3 = name_1 + "123" + name_2
>>> name_3
abc123def
三. 删字符串中的空格
1. rstrip() 删除末尾的空格
>>> name_lan = 'python '
>>> name_lan
'python '
>>> name_lan.rstrip()
'python'
2. lstrip() 去除首位的空格
>>> name_lan = ' python '
>>> name_lan
' python '
>>> name_lan.lstrip()
'python'
3. replace() 去除全部空格
>>> name_lan = " he llo pyth o n "
name_lan
' he llo pyth o n '
>>> name_lan.replace(" ","")
'hellopython'
列表,字符串 的基础函数
1. len() 统计并返回 (字符串,列表,字典中的个数)
a = [111,222,333,'fff','999',777,666,'aaa','bbb','AAA']
b = {'a':1,'b':2,'c':3}
c = "abcd123?<?#$"
len_a = len(a)
len_b = len(b)
len_c = len(c)
print len_a,len_b,len_c
10 3 12
2. min(),max() 最大写,最小写
a = [4,3,2,1,'5']
b = '1,2,3,4'
max_a = max(a)
max_b = max(b)
min_a = min(a)
min_b = min(b)
print max_a,max_b,min_a,min_b
5 4 1 ,
3. list() 转换为列表
tup = ('a','b',123,)
print tup
tup_1 = list(tup)
print tup_1
('a', 'b', 123)
['a', 'b', 123]
元组与字典
元组与字符串一样,不可修改,使用逗号分割,用括号括起来
字典以键值对的方式存放在一个类似列表的序列里,字典是无序的
# coding=utf-8
names = {'Alice':'123','Cecil':'456'}
print names['Cecil']
456
1. clear() 删除所以字典项
# coding=utf-8
names = {'Alice':'123','Cecil':'456'}
print names
print names.clear()
{'Alice': '123', 'Cecil': '456'}
None
2. copy() 浅复制
浅copy替换原字典中的key时,不受影响,修改value时,原件也会被修改。
# coding=utf-8
x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
y =x.copy()
del y['username']
y['machines'].remove('foo')
print y
print x
{'machines': ['bar', 'baz']}
{'username': 'admin', 'machines': ['bar', 'baz']}
3. copy() 深复制
正常 copy 逻辑,理解 copy 出来的是一块新内存空间
# coding=utf-8
from copy import deepcopy
x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
y = deepcopy(x)
del y['username']
y['machines'].remove('foo')
print y
print x
{'machines': ['bar', 'baz']}
{'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
4. fromkeys() 创建一个新字典,包含指定key
# coding=utf-8
str_1 = 'key1','key2'
dic = dict.fromkeys(str_1,'(value)')
print dic
{'key2': '(value)', 'key1': '(value)'}
5. get() 使用get 方法提取字典中没有的项返回指定内容
相对宽松的环境,用于容错,提高灵活性
# coding=utf-8
d = {'a':1,'b':2}
#print d['c']
print d.get('c')
None