1. 程式人生 > >list 字典 元組及常用字符串方法

list 字典 元組及常用字符串方法

pytho jmx OS 幫助 linu ace 空格 linux下 ear

List練習1

# 校驗用戶名是否合法:

# 輸入賬號 #input

# 如果賬號存在的,提示已經被註冊,如果不存在的,就讓他註冊 all_users 【 】

#不能為空 #strip()

#用戶名長度長度6-12之間 len()

#最多輸入3次 #循環

all_users = [‘牛寒陽‘,‘梁盼‘,‘zhangwifi‘]

for i in range(3): #range確定循環次數 for循環默認每次加1

username = input(‘請輸入賬號:‘).strip() #strip方法去掉前後空格

if len(username)>5 and len(username)<13:

elif all_users.count(username)>0: #通過count來統計判斷

print(‘這個名字太好啦,已經被註冊啦!‘)

else:

print(‘名字不錯,趕緊註冊吧!‘)

break

else:

print(‘用戶名長度不合法!長度6-12之間!‘)

else:

print(‘失敗次數過多‘)

6.list循環

lists = [‘張流量‘,‘李wifi‘,‘王路由器‘,‘牛網線‘,[1,2,3,4]]

words=‘marry,lily,joker‘

# for i in range(4): #其他語言實現取值

# # 0 ,1,2,3

# print(lists[i])

for name in lists: # 使用變量 代替列表中的元素

if type(name)==list: #判斷一個變量的類型,list是一種變量類型

for i in name:

print(i)

print(name)

輸出的結果:張流量 李wifi 王路由器 牛網線1 2 3 4 [1, 2, 3, 4]

for name in words:

print(name)

for循環在循環可叠代對象的時候,每次循環的是裏面的每一個元素

list 練習2

stus=[

[‘小明‘,‘未交‘],

[‘小白‘,‘已交‘],

[‘小紫‘,‘已交‘],

[‘小紅‘,‘未交‘],

[‘小綠‘,‘未交‘],

[‘小黃‘,‘未交‘],

[‘小黑‘,‘已交‘]

]

pass_list = [ ] #所有已經交作業的同學 #定義一個 list的空表

fail_list = [ ] #沒有交作業同學的名字

for stu in stus: #stu為list表中的元素

status = stu[1] #狀態 #定義列表中元素

name = stu[0] #名字

if status == ‘未交‘:

fail_list.append(name) #append方法進行添加

else:

pass_list.append(name)

print(‘未交作業的所有同學是 %s ,總共有 %s 個人‘%(fail_list,len(fail_list))) #len方法統計長度

print(‘已交作業的所有同學是 %s ,總共有 %s 個人‘%(pass_list,len(pass_list)))#直接使用函數做變量

7.list 切片(list的一種取值方式)

示例:

# 切片是list取值的一種方式

nums = [‘段佳林‘,‘陳衛亮‘,‘王占宇‘,‘李博‘]

print(nums[1:3])

print(nums[0])

print(nums[1:3]) #顧頭不顧尾

print(nums[1:]) #如果從某個下標開始取,取到末尾結束,那麽末尾的下標可以省略不寫

print(nums[:2]) #如果是從頭開始取,取到後面某個下標結束,那麽開頭的下標可以不寫

print(nums[:]) #取所有的

lis = list(range(1,21))#可以使用range 1-20

print(lis)

print(lis[::2]) #步長,隔幾個取一次

print(lis[::-2]) #步長,隔幾個取一次

# 如果步長是正數的話,從左往右邊開始取值

# 如果步長是負數的話,從右邊往左邊開始取值

print(lis[::-1]) #反轉list

print(lis)#所有值

print(lis[1::-1])# 取值為[2,1] *list[1’:2’:3’]取值先1’再3’最後2’的順序規律

print(lis[:])#所有值

lis.reverse() #改變了原來list的值 reverse會將中的值反序寫入

new_list = lis[::-1] #產生了新的一個list,不會改變原來list的值 會將新值寫入new_list

print(new_list)

print(list) #list值未改變

# 切片操作同樣適用於字符串。

# info = ‘你好,今天天氣很好‘

# print(lis)

# print(lis[:18:-1])

# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

print(lis)

print(lis[::-2])

print(lis[::-1])

print(lis[:18:-1]) # -1倒序,開頭沒有取值,所以默認從20往左取值,取到18的下標(19),但不顧尾,所以19不取

s = ‘hahaha‘

s = ‘小黑‘

print(s)

print(s[0])

print(s[::-1])

8.元組 tuple

元組也是一個list,他和list的區別是,元組裏面元素無法修改

嘗試循環、切片、下標取值、修改值是否生效?

print(t[:1])

print(t[3])

# for i in t:

# print(i)

print(t)

#如果元組裏面 只有一個元素的話,那麽你必須在這個元素後面加一個逗號

t = (1,2,4,5,6,7) #用小括號括起來

words=(1,) #只有一個數字

words2=(‘abc‘,) #只有一個字符串

print(‘t‘,type(t)) #類型為tuple

print(‘words‘,type(words))

print(‘words2‘,type(words2))

print(t.index(2)) # 通過index()找到元素的下表

print(t.count(2)) #找到元素的個數

9.字典

字典是通過key - value 形式存放數據的

# string list dict

字典的優點 1、取數據方便2、速度快,

查找

print(infos.get(‘phone‘))#取不到這個key的話,就是None

print(infos.get(‘phone‘,110))#如果取不到這個key的話,默認就是110 可以添加錯誤返回結果幫助查看。

print(infos[‘phone‘])#如果key不存在會報錯

infos = {‘name‘:‘張流量‘,‘sex‘:‘男‘,‘addr‘:‘火星‘,‘age‘:180}

#增

infos[‘phone‘]=13611087045 #增加一個key

infos.setdefault(‘小金庫‘,‘2000w‘)

infos.setdefault(‘name‘,‘鵬妹妹‘) #如果key存在的話,不會修改原來key裏面的值

infos[‘name‘]=‘鵬妹妹‘ #如果key存在的話,會修改原來key對應的value

# print(infos)

**字典是無序的

#修改

infos[‘name‘]=‘鵬妹妹‘

#刪除

# infos.pop(‘name‘) #指定key來刪除

# infos.popitem() #隨機刪除一個key

# del infos[‘phone‘] #指定key來刪除

# infos.clear() #清空字典

#方法

# print(infos.values())#獲取到字典所有的value

# print(infos.keys()) #獲取到字典所有的key

# print(infos.items()) # 獲取字典所有的k-v

people = {

‘田雨‘:{

‘age‘:18,

‘money‘:200000,

‘clothes‘:‘100套‘,

‘hzp‘:‘n多‘,

‘shoes‘:[‘nike‘,‘addis‘,‘lv‘,‘chanle‘]

},

‘張流量‘:{

‘金庫‘:‘2000w‘,

‘house‘:[‘三環一套‘,‘4環2套‘],

‘cars‘: {

‘japan‘:[‘普拉多‘,‘蘭德酷路澤‘],

‘usa‘:[‘林肯‘,‘凱迪拉克‘,‘福特‘],

‘china‘:[‘五菱宏光‘,‘qq‘,‘紅旗‘]

}

}

}

people[‘張流量‘][‘cars‘][‘usa‘].append(‘牧馬人‘)

# people[‘田雨‘][‘shoes‘].append(‘匡威‘)

# print(people)

# people[‘田雨‘][‘money‘] = people[‘田雨‘][‘money‘]+200

# people[‘田雨‘][‘money‘] += 200

# print(people)

#直接循環一個字典的話,那麽循環的是字典的key

# for p in people:

# print(p)

for k,v in people.items(): #循環的時候,同時取key和value

print(k,‘======》‘,v)

字典練習

users = {

‘niuhanyang‘:‘123456‘,

‘yangyafu‘:‘456789‘,

}

#所有的賬號和密碼

# username

# pwd

# cpwd

# print( ‘123456‘ in users ) #字典裏面用in來判斷的話,只是判斷key是否存在

for i in range(3):

username = input(‘賬號:‘).strip()

passwd = input(‘密碼:‘).strip()

cpasswd = input(‘密碼確定:‘).strip()

if username==‘‘ or passwd==‘‘ or cpasswd==‘‘:

print(‘用戶名/密碼不能為空‘)

elif username in users:

print(‘用戶名已經被註冊!‘)

elif passwd!=cpasswd:

print(‘兩次輸入的密碼不一致‘)

else:

print(‘恭喜,註冊成功!‘)

# users.setdefault(username,passwd)

users[username]=passwd

break

else:

print(‘錯誤次數過多‘)

print(users)

10.常用的字符串方法

# a=‘ 字 符 串 \n\n\n\n\n‘

# c = a.strip() #默認去掉字符串兩邊的空格和換行符

# c= a.lstrip() #默認去掉字符串左邊的空格和換行符

# c = a.rstrip() #默認去掉字符串右邊的空格

# print(‘c...‘,c)

# print(‘a...‘,a)

words = ‘http://www.nnzHp.cn‘

# print(words.strip(‘day‘)) #如果strip方法指定一個值的話,那麽會去掉這兩個值

# print(words.count(‘a‘)) #統計字符串出現的次數

#print(words.index(‘z‘)) #找下標,如果元素找不到的話,會報錯

# print(words.find(‘z‘)) #找下標,如果元素找不到的話,返回-1

# print(words.replace(‘day‘,‘DAY‘)) #替換字符串

# print(words.isdigit()) #判斷字符串是否為純數字

# print(words.startswith(‘http‘)) #判斷是否以某個字符串開頭

# print(words.endswith(‘.jpg‘)) #判斷是否以某個字符串結尾

# print(words.upper()) #變成大寫的

# print(words.lower()) #變成小寫的

username = ‘abcdefADS12345@#¥‘

# print(username.isalpha()) #判斷字符串是否全為字母

# print(username.isalnum()) #判斷是否包含字母和數字,它是只要有字母或者有數字就返回true

上篇小結

上周回顧:

jmeter的壓測

tps 每秒鐘處理的請求數

響應時間 越小越好

聚合報告

jmeter 添加負載機

負載機:啟動jmeter-server

主控機:

在配置裏面添加 remote_hosts:ip:1099,ip:1099

jmeter linux下運行

jmeter -n -t xxx/sfdsdf/a.jmx -l res.jtl

charles 抓包工具

fiddler、winrek

1、定位問題

2、模擬一些異常的情況

3、弱網測試

python:

條件判斷

if :

x

else:

xx

循環

while for

for i in range(5):

python數據類型:

int 類型

float 小數類型

string 字符串

布爾類型

#可變變量

#裏面的元素你可以隨便修改

list

#不可變變量

裏面值不能修改

string、tuple

list 字典 元組及常用字符串方法