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

Posted 测试的自我放逐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list 字典 元组及常用字符串方法相关的知识,希望对你有一定的参考价值。

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 = ‘[email protected]#¥‘

# 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 字典 元组及常用字符串方法的主要内容,如果未能解决你的问题,请参考以下文章

python元组与字典

python(list字典元组字符串方法文件读写)草稿

python全栈学习总结二:数字字符串列表元组字典重要特点及方法

列表元组字典的增删改查常用操作

(字符串列表字典元组集合)的常用内置方法

第六天