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)

小寸头
47 声望8 粉丝

有关运维、Python开发等实践技术共享


« 上一篇
Nginx优化详解
下一篇 »
列表用法