本节内容
1.列表、元组操作
2.字符串操作
3.字典操作
Python三目运算
>>> a,b = 1,2
>>> a
1
>>> b
2
>>> c=a if a>b else b
>>> c
2
enumerate #函数用于遍历序列中的元素以及它们的下标
names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘,‘gg‘]
for index,name in enumerate (names):
print(index,name)
(0, ‘aa‘)
(1, ‘bb‘)
(2, ‘cc‘)
(3, ‘dd‘)
(4, ‘ee‘)
(5, ‘ff‘)
(6, ‘gg‘)
1. 列表、元组操作
列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
定义列表
names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘]
通过下标访问列表中的元素,下标从0开始计数
>>> names[0]
‘aa‘
>>> names[1]
‘bb‘
>>> names[-1] <---还可以倒着取
‘ff‘
>>> names[-2]
‘ee‘
切片:取多个元素(总的原则是顾头不顾尾)
>>> names[1:4] #取下标1至下标4之间的数字,包括1,不包括4
[‘bb‘, ‘cc‘, ‘dd‘]
>>> names[1:-1] #取下标1至-1的值,不包括-1
[‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘]
>>> names[0:3]
[‘aa‘, ‘bb‘, ‘cc‘]
>>> names[:3]
[‘aa‘, ‘bb‘, ‘cc‘] #如果是从头开始取,0可以忽略,跟上句效果一样
>>> names[3:]
[‘dd‘, ‘ee‘, ‘ff‘] #如果想取最后一个,必须不能写-1,只能这么写
names[0::2]
[‘aa‘, ‘cc‘, ‘ee‘] #后面的2是代表,每隔一个元素,就取一个
>>> names[::2]
[‘aa‘, ‘cc‘, ‘ee‘] #和上句效果一样
追加
>>> names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘]
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘]
>>> names.append(‘gg‘)
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
插入
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
>>> names.insert(2,‘hh‘)
>>> names
[‘aa‘, ‘bb‘, ‘hh‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘] #强行从cc前面插入
修改
>>> names
[‘aa‘, ‘bb‘, ‘hh‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
>>> names[2]=(‘ab‘)
>>> names
[‘aa‘, ‘bb‘, ‘ab‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
删除
>>> names
[‘aa‘, ‘bb‘, ‘ab‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
>>> del names[2]
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘gg‘]
>>> names.remove(‘gg‘) #指定删除gg
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘]
>>> names.pop()
‘ff‘
>>> names #删除最后一个值
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘]
扩展
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘]
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, 1, 2, 3]
拷贝
>>> names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘]
>>> name=copy.copy(names)
>>> name
[‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘]
统计
>>> names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘,‘aa‘,‘ff‘]
>>> names.count(‘aa‘)
2
排序&反转
>>> names = [‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘,‘ff‘,‘aa‘,‘ff‘,1,2,3]
>>> names.sort()
>>> names
[1, 2, 3, ‘aa‘, ‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘ff‘]
>>> names = [1, 2, 3, ‘aa‘, ‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘ff‘]
>>> names.reverse()
>>> names
[‘ff‘, ‘ff‘, ‘ee‘, ‘dd‘, ‘cc‘, ‘bb‘, ‘aa‘, ‘aa‘, 3, 2, 1]
获取下标
>>> names = [1, 2, 3, ‘aa‘, ‘aa‘, ‘bb‘, ‘cc‘, ‘dd‘, ‘ee‘, ‘ff‘, ‘ff‘]
>>> names.index(‘aa‘)
3 #只返回找到的第一个下标
循环列表
>>> for i in names:
... print(i)
...
aa
bb
cc
dd
ee
ff
元组
元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
语法
names = ("aa","bb","cc")
它只有2个方法,一个是count,一个是index
2. 字符串操作
3. 字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
语法:
>>> info={‘age1‘:10,‘age2‘:20,‘age3‘:30}
字典的特性: dict是无序的,key必须是唯一的,天生去重
增加
info[‘age5‘]=50
>>> info
{‘age5‘: 50, ‘age4‘: 40, ‘age3‘: 30, ‘age2‘: 20, ‘age1‘: 10}
修改
>>> info[‘age4‘]=60
>>> info
{‘age5‘: 50, ‘age4‘: 60, ‘age3‘: 30, ‘age2‘: 20, ‘age1‘: 10}
删除
>>> info.pop(‘age4‘) #标准删除
60
>>> info
{‘age5‘: 50, ‘age3‘: 30, ‘age2‘: 20, ‘age1‘: 10}
>>> del info[‘age5‘] #换个姿势删除
>>> info
{‘age3‘: 30, ‘age2‘: 20, ‘age1‘: 10}
info
{‘age3‘: 30, ‘age2‘: 20, ‘age1‘: 10}
>>> info.popitem() #随机删除
(‘age3‘, 30)
>>> info
{‘age2‘: 20, ‘age1‘: 10}
查找
>>> info={‘age1‘:10,‘age2‘:20,‘age3‘:30}
>>> ‘age1‘ in info #标准用法
True
>>> info.get(‘age1‘) #获取
10
>>> info[‘age1‘] #同上
10
>>> info[‘age4‘] #如果一个key不存在,就报错,get不会,不存在只返回None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: ‘age4‘
循环dict
>>> for key in info:
... print(key,info[key])
...
(‘age3‘, 30)
(‘age2‘, 20)
(‘age1‘, 10)