python基础深入(元组、字符串、列表、字典)
一、列表
1.追加
1 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原来的列表。 2 >>>list.append(5) 3 >>>print(list) 4 [1, 2, 3, 4, 5]
2.统计
1 >>>list = [1,"a","b","c",1,4,2,1,2,3,4] 2 >>>list.count(4) #用于统计某个元素在列表中出现的次数,value -- 列表中统计的对象,返回元素在列表中出现的次数。 3 >>>print(list) 4 [1, 'a', 'b', 'c', 1, 4, 2, 1, 2, 3, 4] 5 >>>print(list.count(4))#列表中4出现了两次 6 2
3、合并
1 >>>list = [1,"a","b","c",1,4,2,1,2,3,4] 2 >>>list2 = ["aa","bb","cc"] 3 >>>list.extend(list2) #用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),seq -- 元素列表,该方法没有返回值,但会在已存在的列表中添加新的列表内容 4 >>>print(list) 5 [1, 'a', 'b', 'c', 1, 4, 2, 1, 2, 3, 4, 'aa', 'bb', 'cc']
4、索引
1 >>>list = [1,"a","b","c",1,4,2,1,2,3,4] 2 >>>list.index(4) #用于从列表中找出某个值第一个匹配项的索引位置 3 >>>print(list.index(4)) #第一个4的指标是5
4 5
5、指定插入
1 >>>list = [1,2,3,4] 2 >>>list.insert(1,"a") #用于将指定对象插入列表,需要指定插入对象的位置 3 >>>print(list) 4 [1, 'a', 2, 3, 4]
6、删除最后一个元素
1 >>>list = [1,2,3,4,"a"] 2 >>>list.pop() #pop默认删除最后一个元素,a被删除 3 >>>print(list)
4 [1,2,3,4]
7、指定删除
1 list = [1,2,3,4,"a"] 2 list.remove("a") #指定删除,指定要删除元素的名字 3 print(list) 4 [1, 2, 3, 4]
8、多个删除
1 list = [1,2,3,4,"a"] 2 del list[2:4] #顾首不顾未可以删除连续的元素,删除3,4 3 print(list) 4 [1, 2, 'a']
9、步长
list = [1,2,3,4,"a"] del list[::2] #步长为二,各一个打印一个 print(list) [2, 4]
二、元组
元组不可修改删除,只有索引(index)和统计(count)可用
三、字符串
1、首字母大写
1 >>>name="zhangkui,zhangruzhan" 2 >>>print(name.capitalize())#只有字符串第一个字母大写 3 Zhangkui,zhangruzhan
2、内容居中
1 >>>name="zhangkui,zhangruzhan" 2 >>>print(name.center(40,'*')) 3 **********zhangkui,zhangruzhan**********
3、统计
1 name="zhangkui,zhangruzhan" 2 print(name.count('a')) #统计字符串中a出现的次数 3 3
4、编码修改
1 name="zhangkui,奎" 2 print(name.encode('gbk')) #编码,针对unicode encoding='解码的格式' 3 b'zhangkui,\xbf\xfc'
5、判断是否以xxx结束
1 endswith(self, suffix, start=None, end=None)是否以xxx结尾 suffix:填入结尾的字符串 start=在第几个字符开始 end=在第几个字符结束 2 endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。 3 例: 4 >>> name='asdfghjklo' 5 >>> print (name.endswith('lo',0,6)) 6 False 7 >>>name="ruzhan"
8 >>>print(name.endswith('zhan',2,))
9 Ture
6、find
1 find(self, sub, start=None, end=None)寻找子序列位置,如果没找到,返回 -1 2 >>> name = 'yaotwosiji' 3 >>> print (name.find('two',1,8)) 4 3 5 >>> print (name.find('two',1,3)) 6 -1
7、大写转小写
1 >>>name="AVXS" 2 >>>print(name.casefold()) 3 avxs
8、索引
1 name="zhangkui,zhangruzhan" 2 print(name.index('ru')) 3 14
9、isalnum 判断字符串是不是有字母数字组成,是返回Ture否则返回False
1 >>>name="zhangkui,zhangruzhan" 2 >>>print(name.isalnum()) 3 False
10、isalpha
如果字符串至少有一个字符并且所有字符都是字母则返回
True
,否则返回
False
1 >>>name="zhangkuizhangruzhan" 2 >>>print(name.isalpha()) 3 True
11、isdigit 如果字符串至少有一个字符并且所有字符都是数字则返回
True
,否则返回
False
1 >>>name="12344" 2 >>>print(name.isdigit()) 3 Ture
12、islower 所有字符不包含大写字母返回True,否则返回False
1 >>>name= 'a, dsbc' 2 >>>print(name.islower()) 3 True
13、isspace 只包含空格返回True否则返回False
1 >>>name= ' ' 2 >>>print(name.isspace()) 3 True
14、istitle
1 istitle(self)如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False 2 例: 3 >>> zifu = 'Liu Yao' 4 >>> print (zifu.istitle()) 5 True
15、isupper
1 isupper(self)如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False 2 例: 3 >>> zifu = 'LIU YAO' 4 >>> print (zifu.isupper())
16、join
1 join(self, iterable)返回通过指定字符连接序列中元素后生成的新字符串 2 例: 3 >>> lj = '^' 4 >>> name =('y','a','o') 5 >>> print (lj.join(name)) 6 y^a^o
17、l just
ljust(
self
, width, fillchar
=
None
)返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
1 lower(self)返回将字符串中所有大写字符转换为小写后生成的字符串 2 >>> name = 'LIUYAO' 3 >>> print (name.lower()) 4 liuyao
19、lstrip
1 lstrip(self, chars=None)返回截掉字符串左边的空格或指定字符后生成的新字符串 2 >>> name = 'liuyaoliuyaoliuyao' 3 >>> print (name.lstrip('liu')) 4 yaoliuyaoliuyao
20、partition 返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
1 #!/usr/bin/python 2 3 str = "http://www.w3cschool.cc/" 4 5 print str.partition("://") 6 7 ('http', '://', 'www.w3cschool.cc/')
21、replace 返回字符串中的 旧字符串替换成新字符串后生成的新字符串,如果指定第三个参数2次
,则替换不超过2
次
1 name= 'ni shi wo shi shei shi bi shi' 2 print(name.replace('shi','ta')) 3 print(name.replace('shi','ta',2))
4 ni ta wo ta shei ta bi ta
5 ni ta wo ta shei shi bi shi
22、split
1 name= 'ni shi,wo shi,shei shi,bi shi' 2 print(name.split())#默认是以空格为分隔符 3 print (name.split(',',2)) #可以定义分隔符和分割次数 4 5 ['ni', 'shi,wo', 'shi,shei', 'shi,bi', 'shi'] 6 ['ni shi', 'wo shi', 'shei shi,bi shi']
23、splitlines Python splitlines() 按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
1 name= 'ni shi\nwo shi\nshei shi\nbi shi\n' 2 print(name) 3 print(name.splitlines()) 4 print (name.splitlines(1)) 5 6 ni shi 7 wo shi 8 shei shi 9 bi shi 10 ['ni shi', 'wo shi', 'shei shi', 'bi shi'] 11 ['ni shi\n', 'wo shi\n', 'shei shi\n', 'bi shi']
24、startswith 用于检查字符串是否是以指定子字符串开头,如果是则返回
True
,否则返回
False
。
1 name= 'ni shi wo shi shei shi bi shi' 2 print(name) 3 print(name.startswith('ni')) 4 print(name.startswith('wo')) 5 6 ni shi wo shi shei shi bi shi 7 True 8 False
25、swapcase 用于对字符串的大小写字母进行转换
1 name= 'Ni Shi wo shi shei shi bi shi' 2 print(name) 3 print(name.swapcase()) 4 5 Ni Shi wo shi shei shi bi shi 6 nI sHI WO SHI SHEI SHI BI SHI
26、upper 将小写字母转换为大写
1 name= 'Ni Shi wo shi shei shi bi shi' 2 print(name) 3 print(name.upper()) 4 5 Ni Shi wo shi shei shi bi shi 6 NI SHI WO SHI SHEI SHI BI SHI
27、zfill 返回指定长度的字符串,
指定字符串的长度大于字符长度。原字符串右对齐,前面填充
0
。
1 name= 'Ni Shi' 2 print(name.zfill(5)) 3 print(name.zfill(10)) 4 5 Ni Shi 6 0000Ni Shi
三、字典
1、查看
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 print(id_db[12345]) 14 15 {'name': 'zkk', 'age': 20, 'job': 'it'}
2、修改
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 id_db[12345]["name"] = "zkk2" #修改 14 print(id_db[12345]) 15 16 {'age': 20, 'job': 'it', 'name': 'zkk2'}
3、添加v
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 id_db[12345]["qq"] = 123321 #添加一个v 14 print(id_db[12345]) 15 16 {'name': 'zkk', 'job': 'it', 'age': 20, 'qq': 1207088427}}
4、获取items,keys,values
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 print((id_db.values())) 14 print((id_db.items())) 15 print((id_db.keys())) 16 17 dict_values([{'name': 'zxc', 'age': 20, 'job': 'it'}, {'name': 'zkk', 'age': 20, 'job': 'it'}]) 18 dict_items([(23456, {'name': 'zxc', 'age': 20, 'job': 'it'}), (12345, {'name': 'zkk', 'age': 20, 'job': 'it'})]) 19 dict_keys([23456, 12345])
5、判断key在不在字典
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 print(12345 in id_db) 14 15 True
6、keys不存在的时候,默认返回None,可以定义返回值
1 id_db={ 2 12345:{ 3 "name":"zkk", 4 "age":20, 5 "job":"it", 6 }, 7 23456:{ 8 "name":"zxc", 9 "age":20, 10 "job":"it", 11 } 12 } 13 print(id_db.setdefault(123456)) 14 15 None
7、fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
1 dic2 = { 2 'name':'liyuemei', 3 34567:{ 4 'name':'zrz', 5 } 6 } 7 set = ['aa','bb','cc'] 8 print(dic2.fromkeys(set,10))#名字只是引用,和字典dic2没有关系 9 print(dic2) 10 11 {'bb': 10, 'aa': 10, 'cc': 10} 12 {'name': 'liyuemei', 34567: {'name': 'zrz'}}
8、clear清空;pop指定删除;popitem随机删除