数据类型 字符串 列表 元组 字典

数据类型 (共 7 种)

1.str  字符串类型(用法多)

2.int 数字类型

3.bool bool类型 (True 和 False)

4.list 列表(增删改查)

5.tuple 元组(增删改查)

6.dict 字典(增删改查)

7.set (集合)

1.str (字符串类型) 

1.1 介绍

在单引号、双引号、三引号内,由一串字符组成的叫字符串

1.2 字符串的索引与切片

字符串索引

 

 1 s = 'ABCDEFGHIJK'
 2 print(s[0]) #取第一位
 3 >>> 'A'
 4 
 5 print(s[2]) #取第三位
 6 >>> 'C'
 7 
 8 print(s[-1]) #取倒数第一位
 9 >>>'K'
10 
11 print(s[-2]) #取倒数第二位
12 >>> 'J'
View Code

 字符串切片:顾头不顾尾

 1 s = 'ABCDEFGHIJK' #切片打印 第一位 到 第四位
 2 print(s[0:4])
 3 >>>'ABCD'
 4 
 5 print(s[0:-1]) #切片打印 第一位 到 倒数第二位
 6 >>>'ABCDEFGHIJ'
 7 
 8 print(s[:])     #切片打印 所有
 9 >>>'ABCDEFGHIJK'
10 
11 print(s[0:])     #切片打印 所有
12 >>>'ABCDEFGHIJK'
13 
14 print(s[0:0])    #因为0:0 都是A 顾头不顾尾原则 所以不打印
15 >>>
16 
17 s = 'ABCDEFGHIJK'  # s[首:尾:步长]
18 print(s[0:5:2])   #切片 跳着 打印 第一位 到 第四位
19 >>>'ACE'
20 
21 print(s[4:0:-1])  #倒着打印时 步长必须加上-1
22 >>>'EDCB'
23 
24 print(s[3::-1]) #倒着打印 第四位 到 A 所有字符串
25 >>>'DCBA'
26 
27 print(s[3::-2]) #倒着 跳着打印
28 >>>'DB'
29 
30 print(s[-1::-1]) #倒着 打印 所有
31 >>>'KJIHGFEDCBA'
32 
33 print(s[::-1]) #简写 倒着打印 所有
34 >>>'KJIHGFEDCBA'
View Code

 

 1 s = 'ABCDEFGHIJK' #切片打印 第一位 到 第三位
 2 print(s[0:4])
 3 >>>'ABCD'
 4 
 5 print(s[0:-1]) #切片打印 第一位 到 倒数第二位
 6 >>>'ABCDEFGHIJ'
 7 
 8 print(s[:])     #切片打印 所有
 9 >>>'ABCDEFGHIJK'
10 
11 print(s[0:])     #切片打印 所有
12 >>>'ABCDEFGHIJK'
13 
14 print(s[0:0])    #因为0:0 都是A 顾头不顾尾原则 所以不打印
15 >>>
16 
17 s = 'ABCDEFGHIJK'  # s[首:尾:步长]
18 print(s[0:5:2])   #切片 跳着 打印 第一位 到 第四位
19 >>>'ACE'
20 
21 print(s[4:0:-1])  #倒着打印时 步长必须加上-1
22 >>>'EDCB'
23 
24 print(s[3::-1]) #倒着打印 第三位 到 A 所有字符串
25 >>>'DCBA'
26 
27 print(s[3::-2]) #倒着 跳着打印
28 >>>'DB'
29 
30 print(s[-1::-1]) #倒着 打印 所有
31 >>>'KJIHGFEDCBA'
32 
33 print(s[::-1]) #简写 倒着打印 所有
34 >>>'KJIHGFEDCBA'
1.3 常用方法
  1 s = 'pyTHon'
  2 # captalize,swapcase,title
  3 print(s.capitalize()) #将首字母变大写,后面字母变小写
  4 >>>'Python'
  5 
  6 print(s.swapcase()) #反转,大小写互换
  7 >>>'PYthON'
  8 
  9 s1 = '-python fullstack@s9' #每个单词首字母大写,由数字,空格等特殊字符隔开
 10 print(s1.title())
 11 >>>'-Python*Fullstack@S9'
 12 
 13 
 14 # upper、lower
 15 print(s.upper())
 16 >>>'PYTHON'
 17 
 18 print(s.lower())
 19 >>>'python'
 20 
 21 # center、expandtabs
 22 print(s.center(20, '*'))
 23 >>>'*******PytHOn*******'
 24 
 25 # 在\t前面不全8或8的倍数个空格,如果有字符的话字符先顶头
 26 s2 = '\tpython\tfullstack'
 27 print(s2.expandtabs())
 28 >>>'        python  fullstack'
 29 
 30 
 31 # 公共方法len()
 32 print(len(s))
 33 >>>'6'
 34 
 35 
 36 # startswith、endswith
 37 print(s.startswith('py')) #判断是否已(自定义)开头,注意!!区分大小写!!!
 38 >>>'True'
 39 
 40 print(s.startswith('py', 0, 4)) #切片判断是否已(自定义)开头,注意!!区分大小写!!!
 41 >>>'True'
 42 
 43 
 44 
 45 print(s.endswith('oN')) #判断是否已(自定义)结尾,注意!!区分大小写!!!
 46 >>>'False'
 47 
 48 print(s.endswith('oN',0, 6)) #切片判断是否已(自定义)结尾,注意!!区分大小写!!!
 49 >>>True
 50 
 51 
 52 # find、index
 53 print(s.find('h')) #查找所引值,找不到不报错,返回-1。注意!!区分大小写!!!
 54 >>>3
 55 
 56 print(s.index('h')) #查找所引值,找不到会报错。注意!!区分大小写!!!
 57 >>>3
 58 
 59 
 60 
 61 # strip rstrip lstrip
 62 s3 = '  python '
 63 print(s3.strip()) #去除空格 或者 去除两边的字符
 64 >>>'python'
 65 
 66 s3 = '  python@ '
 67 print(s3.rstrip()) #只能去除右边的空格
 68 >>>' python@'
 69 
 70 s = ' @python*@ '
 71 print(s.lstrip()) #只能去除左边的空格
 72 >>>'@python*@ '
 73 
 74 #replace #Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
 75 
 76 #!/usr/bin/python
 77 
 78 str = "this is string example....wow!!! this is really string";
 79 print str.replace("is", "was");
 80 print str.replace("is", "was", 3);
 81 
 82 以上实例输出结果如下:
 83 thwas was string example....wow!!! thwas was really string
 84 thwas was string example....wow!!! thwas is really string
 85 
 86  
 87 
 88 # is系列
 89 name='python666'
 90 print(name.isalnum()) #字符串由字母或数字组成
 91 print(name.isalpha()) #字符串只由字母组成
 92 print(name.isdigit()) #字符串只由数字组成
 93 print(name.isalnum()) #是否全是字母和数字,并至少有一个字符 
 94 print(name.isspace()) #是否全是空白字符,并至少有一个字符 
 95 
 96  
 97 
 98 
 99 
100 # count
101 s5 = 'life is short we use python' #统计某一字符出现几次
102 print(s5.count('s'))
103 >>>3
104 
105 # split
106 s6 = '我爱你你爱我我就在家' #以(自定义)分割,最终形成一个列表此列表不含有这个分割的元素。
107 print(s6.split(''))
108 >>>['', '爱你你爱', '', '就在家']
109 
110 # format 三种用法
111 s7 = '大家好我叫{},我今年{},我喜欢{},再说一遍我叫{}'
112 print(s7.format('ELijah', 26, 'coding', 'Elijah'))
113 # >>>大家好我叫ELijah,我今年26,我喜欢coding,再说一遍我叫Elijah
114 
115 s8 = '大家好我叫{0},我今年{1},我喜欢{2},再说一遍我叫{0}'
116 print(s8.format('ELijah', 26, 'coding'))
117 # >>>大家好我叫ELijah,我今年26,我喜欢coding,再说一遍我叫Elijah
118 
119 s9 = '大家好我叫{name},我今年{age},我喜欢{hobby},再说一遍我叫{name}'
120 print(s9.format(hobby='coding', name='ELijah', age=26))
121 >>>大家好我叫ELijah,我今年26,我喜欢coding,再说一遍我叫Elijah
View Code

2.list(列表类型)

2.1 介绍
列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作。

   2.2 常用方法

  1 # list列表常用方法
  2 
  3 #
  4 # 在列表末尾添加元素
  5 lst = ['C','Java','C++','Ruby','PHP']
  6 lst.append('Python')
  7 print(lst)
  8 >>> ['C','Java','C++','Ruby','PHP','Python']
  9 
 10 # 在指定索引前插入元素
 11 lst = ['C','Java','C++','Ruby','PHP']
 12 lst.insert(3,'Python')
 13 print(lst)
 14 >>> ['C','Java','C++','Python','Ruby','PHP']
 15 
 16 # 以迭代的方式在列表末尾添加元素
 17 lst = ['C','Java','C++','Ruby','PHP']
 18 lst.extend('Python')
 19 print(lst)
 20 >>> ['C','Java','C++','Python','Ruby','PHP','P','y','t','h','o','n']
 21 
 22 #
 23 # 删除指定索引的元素,默认无索引则删除最后一个元素
 24 lst = ['C','Java','C++','Ruby','PHP']
 25 lst.pop(3)
 26 print(lst)
 27 >>> ['C','Java','C++','PHP']
 28 # pop()有返回值,返回删除掉的元素
 29 print(lst.pop(3))
 30 >>> 'Ruby'
 31 
 32 lst = ['C','Java','C++','Ruby','PHP'] #默认删除最后一个
 33 lst.pop()
 34 print(lst)
 35 >>> ['C','Java','C++','Ruby']
 36 # pop()有返回值,返回删除掉的元素
 37 print(lst.pop())
 38 >>> 'PHP'
 39 
 40 # 删除指定元素
 41 lst = ['C','Java','C++','Ruby','PHP']
 42 lst.remove('Ruby')
 43 print(lst)
 44 >>> ['C','Java','C++','PHP']
 45 
 46 # 清空列表所有元素
 47 lst = ['C','Java','C++','Ruby','PHP']
 48 lst.clear()
 49 print(lst)
 50 >>> []
 51 
 52 # 删除列表
 53 lst = ['C','Java','C++','Ruby','PHP']
 54 del lst
 55 print(lst)
 56 >>> Traceback (most recent call last):
 57       File "D:practice.py", line 5, in <module>
 58         print(lst)
 59     NameError: name 'lst' is not defined
 60 
 61 # 删除列表指定索引元素
 62 lst = ['C','Java','C++','Ruby','PHP']
 63 del lst[3:]
 64 print(lst)
 65 >>> ['C','Java','C++']
 66 
 67 #
 68 # 直接指定元素索引并赋予新值进行修改
 69 lst = ['C','Java','C++','Ruby','PHP']
 70 lst[3] = 'Python'
 71 print(lst)
 72 >>> ['C','Java','C++','Python','PHP']
 73 
 74 # 利用切片进行迭代修改
 75 lst = ['C','Java','C++','Ruby','PHP']
 76 lst[3:] = 'Python'
 77 print(lst)
 78 >>> ['C','Java','C++','P','y','t','h','o','n']
 79 
 80 #
 81 # 通过循环迭代查询列表中元素
 82 lst = ['C','Java','C++','Ruby','PHP']
 83 for i in lst:
 84     print(i)
 85 
 86 # 切片查询列表中一部分元素
 87 lst = ['C','Java','C++','Ruby','PHP']
 88 print(lst[0:3])
 89 >>> ['C','Java','C++']
 90 
 91 #---------------------------------------
 92 
 93 # 列表排序
 94 # 正序排序
 95 lst = [4,3,2,5,7,8,9,1,6,0]
 96 lst.sort()
 97 print(lst)
 98 >>> [0,1,2,3,4,5,6,7,8,9]
 99 
100 # 倒序排序
101 lst = [4,3,2,5,7,8,9,1,6,0]
102 lst.sort(reverse=True)
103 print(lst)
104 >>> [9,8,7,6,5,4,3,2,1,0]
105 
106 # 翻转
107 lst = [4,3,2,5,7,8,9,1,6,0]
108 lst.reverse()
109 print(lst)
110 >>> [0,6,1,9,8,7,5,2,3,4]
111 
112 #---------------------------------------
113 
114 # 列表的嵌套
115 lst = ['C','Java','C++','Python','Ruby','PHP',['HTML','GO','R','Objective-C']]
116 # 需求:将"HTML"改为"JavaScript"
117 lst[-1][0] = 'JavaScript'
118 print(lst)
119 # 需求:将"PHP"改为"php"
120 lst[5] = lst[5].lower()
121 print(lst)
122 
123 #---------------------------------------
124 
125 # join()方法
126 # S.join():其中S是字符串连接符,join中参数必须是可迭代对象,join()方法输出可迭代对象的每一个元素,并用连接符将每一个元素连接
127 s = 'ilovepython'
128 l = ['C','Java','C++','Ruby','PHP','Python']
129 print('_'.join(s))
130 >>> 'i_l_o_v_e_p_y_t_h_o_n'
131 print('_'.join(l))
132 >>> 'C_Java_C++_Ruby_PHP_Python'
View Code

2.3 重要方法

 1 # string <——> list : 字符串与列表的相互转换
 2 # string ——> list : split()
 3 
 4 s = 'i_l_o_v_e_p_y_t_h_o_n'
 5 print(s.split('_'))
 6 >>> ['i', 'l', 'o', 'v', 'e', 'p', 'y', 't', 'h', 'o', 'n']
 7 
 8 # list ——> string : join() 
 9 l = ['C','Java','C++','Ruby','PHP','Python']
10 print(''.join(l))
11 >>> CJavaC++RubyPHPPython
View Code

2.4 range()方法

 1 # range:相当于都是数字的列表 [0,1,2,3,4.....,99]
 2 # range(起始值,终止值)
 3 for i in range(0,100):
 4     print(i)
 5 
 6 # 默认起始值不写默认为0
 7 for i in range(100):
 8     print(i)
 9 
10 # 同索引一样,range也可以加步长,加步长的话默认的0起始值就不可以省略
11 for i in range(0,100,2):
12     print(i)
13 
14 for i in range(100,0,-2):
15     print(i)
16 
17 # ★★★注意!面试题:不报错,也不输出结果!
18 '''
19 起始值:0
20 终止值:10
21 步长:-1
22 '''
23 for i in range(0,10,-1):
24     print(i)
View Code

3.tuple(元组类型)

3.1 介绍
Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

3.2 常用方法
Tuple(元组)与List(列表)方法相同,不同在于元组不能更改

 

4.dict(字典类型)

4.1 介绍
4.1.1 字典介绍
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根
据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变
类型,如:数字、字符串、元组。


4.1.2 数据类型划分:可变数据类型、不可变数据类型
1.不可变数据类型:元组、布尔值、数值、字符串 ——> 不可变数据类型又称为可哈希
2.可变数据类型:列表、字典、集合 ——>可变数据类型又称不可哈希


4.1.3 字典的特性
1.字典dict的key必须是不可变数据类型:元组、布尔值、数值、字符串
2.字典dict的value可以是任意数据类型
3.字典dict的优点:
(1)二分查找查询
(2)②存储大量的关系型数据
4字典的特点:无序的——>无索引

 

4.2 常用方法

  1 dic = {'age': 26, 'name': 'yang', 'sex': 'male'}
  2 
  3 # --------------------------------------------------------------------------
  4 # 增 - 2种
  5 dic['height'] = 180 # 如果没有键,则增加
  6 >>> {'age': 26, 'name': 'yang', 'sex': 'male','height':180}
  7 dic['age'] = 18 # 如果有键,则覆盖
  8 >>> {'age': 18, 'name': 'yang', 'sex': 'male'}
  9 
 10 dic.setdefault('height') # 如果没有键,则增加,且如果不写值vlaue,则默认None
 11 >>> {'age': 26, 'name': 'yang', 'sex': 'male','height':None}
 12 dic.setdefault('height', 185) # 如果没有键,则增加
 13 >>> {'age': 26, 'name': 'yang', 'sex': 'male','height':185}
 14 dic.setdefault('age', 185) # 如果有键,不覆盖
 15 >>>{'age': 26, 'name': 'yang', 'sex': 'male'}
 16 
 17 # --------------------------------------------------------------------------
 18 
 19 # 删 - 4种
 20 #
 21 dic.pop('name1','No KEY') # 如果有没键,不报错,返回值会返回后面的参数文本
 22 >>> print(dic.pop('name1','No KEY'))
 23 >>> 'No KEY'
 24 >>> print(dic)
 25 >>> {'name': 'yang', 'sex': 'male', 'age': 26}
 26 
 27 dic.pop('age') # 如果有键,则删除对应的键值对;返回值会返回删除掉的值value
 28 >>> print(dic.pop('age'))
 29 >>> 26
 30 print(dic)
 31 >>> {'sex': 'male', 'name': 'yang'}
 32 
 33 #
 34 dic.popitem() # 随机删除字典中的一组键值对
 35 >>> {'name': 'yang', 'sex': 'male'}
 36 
 37 #
 38 del dic['height'] # 如果没有键,则报错
 39 >>> Traceback (most recent call last):
 40       File "D:/python_fullstack_s9/day5/day5_课堂内容总结.py", line 31, in <module>
 41         del dic['height'] # 如果没有键,则报错
 42     KeyError: 'height'
 43 del dic['age'] # 如果有键,则删除对应的键值对
 44 >>> {'name': 'yang', 'sex': 'male'}
 45 
 46 #
 47 dic.clear() # 清空字典
 48 >>> {}
 49 
 50 # --------------------------------------------------------------------------
 51 
 52 # 改 - 2种
 53 #
 54 dic['height'] = 185 # 如果没有键,则增加
 55 >>> {'height': 185, 'age': 26, 'sex': 'male', 'name': 'yang'}
 56 
 57 dic['age'] = 18 # 如果有键,则修改
 58 >>> {'sex': 'male', 'name': 'yang', 'age': 18}
 59 
 60 #
 61 dic_new = {'lanuage':'PYTHON','addr':'昌平'}
 62 dic.update(dic_new) # update(dict),update的参数必须是键值对,将dic_new所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic中
 63 >>> {'sex': 'male', 'addr': '昌平', 'lanuage': 'PYTHON', 'name': 'yang', 'age': 26}
 64 
 65 # --------------------------------------------------------------------------
 66 
 67 # 查 - 5种
 68 #
 69 dic.keys() # 获取字典的键,返回dict.keys的数据类型,相当于list
 70 
 71 默认打印字典的键
 72 for i in dic1:
 73     print(i)
 74 
 75 for i in dic1.keys():
 76     print(i)
 77 
 78 #
 79 dic.values() # 获取字典的值,返回dict.values的数据类型,相当于list
 80 
 81 默认打印字典的值
 82 for i in dic1.values():
 83     print(i)
 84 
 85 #
 86 dic.items() # 获取字典的键和值,返回由keys和values组成的元组
 87 
 88 默认打印字典的键值
 89 for i in dic1.items():
 90     print(i)
 91 
 92 for keys,values in dic1.items():
 93     print(keys,values)
 94 
 95 #
 96 dic.get('height','No KEY') # 如果没有键,则返回值为后面的参数文本
 97 print(dic.get('height','No KEY'))
 98 >>> No KEY
 99 
100 dic.get('age','No KEY') # 如果有键,则返回值为对应键的值
101 print(dic.get('age','No KEY'))
102 >>> 26
103 
104 #
105 print(dic['height']) # 如果有没键,则报错
106 >>> Traceback (most recent call last):
107       File "D:/python_fullstack_s9/day5/day5_课堂内容总结.py", line 79, in <module>
108         print(dic['height']) # 如果有没键,则报错
109     KeyError: 'height'
110 
111 print(dic['age']) # 如果有键,则返回键对应的值
112 >>> 26
113 
114 # --------------------------------------------------------------------------
115 # 字典的嵌套
116 dic = {
117     'name':['a','b','c'],
118     'age':43,
119     'addr':{
120         '1':1,
121         '2':2,
122     }
123 }
124 
125 # 需求:在addr中加入'3':3这个键值对
126 dic['addr']['3'] = 3
127 print(dic)
View Code

 

5 公用方法

 1 # 公共方法
 2 # 统计元素长度
 3 s = 'ilovepython'
 4 l = ['C','Java','C++','Ruby','PHP','Python','C','JAVA']
 5 print(len(s))
 6 >>> 11
 7 print(len(l))
 8 >>> 8
 9 
10 # 统计元素出现的次数
11 s = 'ilovepython'
12 l = ['C','Java','C++','Ruby','PHP','Python','C','JAVA']
13 print(s.count('o'))
14 >>> 2
15 print(l.count('C'))
16 >>> 2
17 
18 # 输出指定元素的索引值
19 s = 'ilovepython'
20 l = ['C','Java','C++','Ruby','PHP','Python','C','JAVA']
21 print(l.index('Java'))
22 >>> 1
23 print(s.index('e'))
24 >>> 4
View Code

 

posted @ 2020-04-04 14:52  kylindemi  阅读(398)  评论(0)    收藏  举报