python基础深入(元组、字符串、列表、字典)

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)返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
 
 
18、lower
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随机删除

 

posted @ 2016-05-18 15:25  zhang_kk  阅读(269)  评论(0编辑  收藏  举报