目录:
一.列表、元组
二.字符串
三.字典、集合
四.条件判断与循环
一.列表、元组
Python内置的一种数据类型。列表:list,是一种有序的集合,可以随时添加和删除其中的元素。
例:
>>>players = [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘] >>>players [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘]
变量players就是一个list。
用len()函数获取list元素的个数:
>>>len(players)
3
用索引访问list中每个位置的元素,索引从0开始;获取最后一个元素可以用-1做索引。
切片:
>>>players = [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘, ‘Dwyane‘] >>>players[1:3] #取下标1-3之间的数,包括1,不包括3 [‘Kobe‘, ‘Kyrie‘] >>>players[1:-1] #取下标1至-1的值,不包括-1 [‘Kobe‘, ‘Kyrie‘] >>>players[:3] #从头开始取,0可以忽略 [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘] >>>players[2:] #从最后一个开始取 [‘Kyrie‘ , ‘Dwyane‘] >>>players[0:0:2] #后面的2代表每隔一个元素取一个 [‘Lebron‘, ‘Kyrie‘] >>>players[::2] #和上句效果一样 [‘Lebron‘, ‘Kyrie‘]
追加:
players.append()
插入:
>>>players = [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘, ‘Dwyane‘, ‘Chris‘] >>>players.insert(2, ‘Kevin‘) >>>players [‘Lebron‘, ‘Kobe‘, ‘Kevin‘, ‘Kyrie‘, ‘Dwyane‘, ‘Chris‘]
修改:
players[2]=‘SC‘
删除:
>>>del players[2] >>>players.remove(‘Kobe‘) #删除指定元素 >>>players.pop() #删除列表最后一个值
扩展:
>>>players [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘, ‘Dwyane‘] >>>b = [1, 2, 3] >>>players.extend(b) >>>players [‘Lebron‘, ‘Kobe‘, ‘Kyrie‘, ‘Dwyane‘, 1, 2, 3]
拷贝:
p_copy = players.copy()
后续补充
统计:players.count(‘Lebron‘)
排序:players.sort() #Python3不同类型不能放在一起排序
反转:players.reverse()
获取下标:players.index()
元组:一旦创建,不可修改。
players = (‘Lebron‘, ‘Kobe‘, Kyrie‘)
只有两个方法:count,index
二.字符串
方法:
name.capitalize() #首字母大写
name.casefold() #大写全部变小写
name.center(20,"-") #输出‘----------Lebron----------‘
name.count(‘a‘) #统计a出现的次数
name.encode() #将字符串编码成byte格式
name.endswith("a") #判断字符串是否以a结尾
"Bryce\tYang".expendtabs(10) 输出‘Bryce Yang‘, 将\t转换成空格
name.find(‘a‘) #查找a,找到返回其索引,找不到返回-1
format:
>>>stu = "my name is {}, age is {}"
>>>stu.format("Allen", 18)
‘my name is Allen,age is 18‘
>>>stu = "my name is {1}, age is {0}"
>>>stu.format("Allen", 18)
‘my name is 18, age is Allen‘
>>>stu = "my name is {name}, age is {age}"
>>>stu.format(age=18, name="Allen")
‘my name is Allen,age is 18‘
format_map
>>>stu.format_map({‘name‘: ‘Allen‘, ‘age‘: 18})
‘my name is Allen,age is 18‘
names.isalnum() #字符串中是否只包含字母和数字
names.isalpha() #是否只包含字母,汉字
#是否是数字
names.isdecimal()
names.isdigit() #三种的区别
names.isnumeric()
#将字符串中的每一个元素按照指定分隔符进行拼接
test = "EVERYTHING"
v = "_".join(test)
names.lower() #转为小写
names.upper() #转为大写
names.lstrip() #去除左空白
names.rstrip() #去除右空白
names.strip() #去除左右空白
三.字典、集合
字典使用了键-值(key-value)存储,具有极快的查找速度。
语法:
>>>d = {‘Michael‘:95, ‘Bob‘:90, ‘Tracy‘:85} >>>d[‘Michael‘] 95
和list相比,dict有以下几个特点:
1.查找和插入速度极快,不会随着key的增加而变慢;
2.需要占用大量的内存,内存浪费多。
字典中的key是不可变对象,所以字符串,整数等都可以作为key,而list是可变的,不能作为key.
字典是无序的
集合(set):
>>>s = set([1,2,3])
>>>s
{1,2,3}
set可以看成数学上的无序和无重复元素的集合,因此,两个集合可以做数学意义上的交集、并集等操作
四.条件判断与循环
if...else
age = 20 if age>18: print(‘your age is‘, age) print(‘adult‘) else: print(‘your age is‘, age) print(‘teenager‘)
elif是else if 的缩写
if<条件判断>:
<执行>
elif<条件判断2>:
<执行>
elif<条件判断3>:
<执行3>
else:
<执行4>
for循环:
names = [‘Michael‘, ‘Bob‘, ‘Tracy‘] for name in names: print(name)
while循环:
sum = 0 n = 99 while n > 0: sum = sum+n n = n-2 print(sum)
break提前退出循环:
n = 1 while n<=100: if n >10: break print(n) n = n+1 print(‘END‘)
continue跳过当前循环,直接开始下一次循环:
n = 0 while n<10: n = n+1 if n%2 ==0: continue print(n)