python for use
[TOC]
语法
if语句
示例
#!/usr/bin/env python
user = 'jack'
passwd = 'jack'
username = input('username:')
password = input('password:')
if user == username and passwd == password :
print("welcome login...")
else:
print("Invalid user name or password...")
for循环
age = 22
counter = 0
for i in range(10):
print('counter',counter)
if counter < 3:
guess_num = int(input('input your guess num:'))
if guess_num == age :
print('Congratulations ! you got it.')
break #跳出整个循环
elif guess_num > age:
print('Think smaller!')
else:
print('Think Big...')
else:
continue_confirm = input('Do you want to continue because you are stupid:')
if continue_confirm == 'y':
counter = 0
continue #跳出本次循环
else:
print('bye')
break
counter += 1 #counter = counter + 1
while循环
示例
#!/usr/bin/env python
count = 0
while True:
count += 1 #count自增
if count > 50 and count < 60: #count跳过50-60之间的循环
continue #跳出本次循环
print('hello word',count)
if count == 100:
print('已暂停')
break #跳出全局循环
# while循环本身是死循环,上面代码示例while用法
字符串常用操作
strip将输入信息前后空格去除
username = input("username:")
if username.strip() == 'liangml':
print('welcome')
split
name = "liangml,tom,jack"
name2 = name.split(",") #拆分以逗号分隔的字符串得到一个列表
print('|'.join(name2))#join是将name2结果以|形式合并到一起
print(name2)
capitalize 首字母大写
print(name.capitalize())
format字符串两种赋值方式
format字符串两种赋值方式msg = "Hello,{name},It's been a long {age} since last time sopke...."
msg2 = msg.format(name="zhangsan",age=111)
print(msg2)
msg2 = "lisi{0},dddd{1}"
print(msg2.format("liangml",22))
center 将字符串两边长度均匀分开
name = 'jack,tom,zhangsan,lisi'
print(name)
print(name.center(40,'-'))
find 查找赋值中有几个
print(name.find('a'))
isdigit 判断是否为数字
age = input('your age:')
if age.isdigit():
age = int(age)
else:
print('Invalid data type')
isalnum 判断不允许有特殊字符,返回布尔值
name = 'liangml'
print(name.isalnum())
endswith,startswith 分别判断字符串是不是以制定字符结尾或开始,返回布尔值
print(name.endswith("ml"))
print(name.startswith('ml'))
upper、lower 全部变大、全部变小
print(name.upper())
print(name.lower())
列表使用
列表 索引、切片、追加、删除、长度、循环、包含
列表语法
import copy
list = ['Jack','Tom',[' Abby','Ada'],1,2,3,33,3,3,3,2] #列表里可以嵌套列表
list12 = ['Jack','Tom',' Abby','Ada']
查询
list1 = name[1] #查看第一个元素
list1 = name[-1] #查看最后一个元素
list1 = name[:2] #取出前两个元素
list1 = name[-5:] #取出后5个元素,默认包含最后一个元素
print('Tom' in list) #查看列表中是否有对应元素,返回一个布尔值
删除
list.remove("Tom") #删除一个元素
del list[2:4] #del是一个全局用法,可以删除全局任何数据
list.pop(1) #使用pop删除默认删除第一个
增加
list.append('liangml') #append追加一个
list.insert(2,'shit') #在列表中插入一条数据
修改
list[1] = 'tom'
统计
list12.sort() #python2.x中字符串和数字会排序数字在前,Python3.x中字符串、数字无法排序
list1 = list.count(3) #统计列表某个元素数量
list2 = list.index(33) #index查看对应元素索引
list4 = list.extend(list12) #将list12列表扩展入list列表中
复制
list5 = list.copy() #列表copy用法只复制列表中第一层,嵌入式列表不会被复制
list6 = copy.deepcopy(list) #使用copy模块会将全部的数据复制一份出来
清除
list.clear() #将整个列表清空
长度查看
print(len(list)) #查看列表的长度也可以看其他数据的长度
翻转一个列表
list.reverse() #翻转整个list列表
print(list[::3]) # 隔3个取一个值
print(list)
更改单个列表中相同的元素
if 3 in list:
num_of_ele = list.count(3)
posistion_of_ele = list.index(3)
list[posistion_of_ele] = 3333
print("[%s] 3 is/are in name,posistion:[%s]" % (num_of_ele, posistion_of_ele))
print(list)
批量更改列表中相同的元素
for i in range(list.count(3)):
ele_index = list.index(3)
list[ele_index] = 3333
print(list)
只读列表元组
r = (1,2,3,4,5,5) #使用格式
print(r.count(5)) ##统计参数
print(r.index(1)) ##查看索引
print(type(r)) #查看类型
字典的使用
字典使用自动去重功能
列表规则
- 1.开始、结尾大括号
- 2.key、value组成中间用冒号分隔
- 3.字典里可以嵌套字典
- 4.字典默认是无序的
my_db = {
32131118540123950:{
'name' : 'Tom',
'age' : 21,
'addr' : 'shanxi'
},
14240218540123950: {
'name': 'Ada',
'age': 22,
'addr': 'BeiJing'
},
21122218540123950: {
'name': 'Jack',
'age': 23,
'addr': 'shandong'
}
}
my_db2 = {
'name' : 'yangsheng',
21122218540123950: {
'name': '123',
'age': 23,
'addr': 'shandong'
}
}
my_db[32131118540123950]['name'] = 'Mr.Liang' #修改字典元素
my_db[32131118540123950]['wechat'] = 'Lin1729562020' #新增或更新字典元素
del my_db[32131118540123950]['addr'] #删除元素
my_db[32131118540123950].pop('name') #删除元素
v = my_db.get(32131118540123950) #获取一个值,没有时返回None
my_db.update(my_db2) #my_db2会将my_db值覆盖,如果没有就新增
print(my_db.items()) #将字典转换成列表
print(my_db.values()) #打印字典的所有values
print(my_db.keys()) #打印字典所有的key
print(32131118540123950 in my_db) #判断key是否在字典中,返回布尔值
print(my_db.setdefault(32131118540124950,'xiaowang')) #取出对应的key值,如果不存在新建key,返回None(value可以指定)
print(my_db.fromkeys([1,2,3,4,5,],'A')) #将列表里的值循环到字典中value为A
print(my_db.popitem()) #随机删除任意一个key
print(my_db[32131118540123950])
print(my_db)