Python自动化学习的第三天—list循环、多维数组、字典

一 列表
1.list 列表 数组
s =['杜欣儿','小红','小二']
stus =s.list ()
stus=[] #空list
append 在list末尾增加一个元素

2.insert 在指定位置添加元素
stus.insert(0,'小白') #在第一个增加
stus.insert(10,'小黑') #如果指定的下标不存在,那么就在末尾增加
print('stus的长度是',len(stus))
print(stus)
3.改元素的值
stus[1] = 'xiaobai'
print('改完之后的',stus)
print(stus[-1])#下标-1代表最后一个元素
4.删除
stus.pop()#默认删除最后一个元素,下标
stus.remove('小白')#删除指定元素
del stus[-1]#删除指定的元素
stus.clear()#清空list
print(stus)
5.查
result = stus.count('小白')#查询某个元素在list里面出现的次数
index = stus.index('小白')#返回某个元素的下标 #如果list里面有多个元素,返回的是第1次出现的下标
stus.reverse()#反转
nums =[2,5,234,556,899,98]
nums.sort()#排序 nums.sort(revrese=true)#排序反转
nums.extend(stus)#把list里面的元素加入到另外一个list
print(nums)
布尔类型 true false
print(1>2)#运行结果为 false
二 List循环
import xpinyin
#xPinyin为一个转为拼音文件
stu = ['小黑','小白','小三','小二','小红']p = xpinyin.Pinyin()
for s in  stu : #如果直接循环一个list,那么每次取的是list里面的每一个元素
stu_pinyin = p.get_pinyin(s,'')

print(stu_pinyin)
运行结果为:

xiaohei
xiaobai
xiaosan
xiaoer
xiaohong

 

for i in range (len(stu)):
print('i的是%s,s的值是%s'%(i,stu[i]))
运行结果为:

i的是0,s的值是小黑
i的是1,s的值是小白
i的是2,s的值是小三
i的是3,s的值是小二
i的是4,s的值是小红

三  多维数组

#二维数组

stu0 = [1,2,3,4,5,6]
stu1 = [1,2,3,4,['a','b','c','d']]

stu2 = [1,2,3,4,['a','b','c','d',['ha','ha','ha']]]#三维数组
# stu2[4][0] = '哈哈'
# print(stu2)
# stu2[4][4].insert(0,'heheh')
# print(stu2)
# print(stu0[2:6])#切片,list的取值方式,指定范围取值,顾头不顾尾
# print(stu0[:5])#如果最前面的下标没有写,代表从最前面开始取
# print(stu0[4:])#如果最后面的下标没有写,代表取到最后面
# new_stu = stu0[:]#复制了一个新的list
# print(new_stu)
print(stu0[0:6:2])#步长2跳过1个元素 如果步长是负数,那么从右往左取值
#下标 索引 切片 循环同样适用于字符串
name= '马上要吃饭l'
print(len(name))
print(name[1])
四 字典
stus=['小红','小白','小黑','小二' ]
stu_info = [
['小红',18,'女','addd'],
['小白',18,'女','addd'],
['小黑',18,'女','addd'],
['小二',18,'女','addd'],
]# 1

for stu in stu_info:
if stu[0]=='小黑':
print(stu)
stu_name = ['小红','小白,'小黑','小二 ]
stu_age =[18,18,18,18,]
stu_addr = ['sfds','sdfs','sdf','sdfsd']


stu_info = {"name":"小红","age":18,"addr":"北京",}
# key - value

1.查
print(stu_info)
print(stu_info['name'])
print(stu_info['age'])
# print(stu_info['money'])
print(stu_info.get('money',500))
#取key不存在的分别会怎么样

2.修改
stu_info['addr'] ='上海'
print(stu_info)
3.新增
stu_info['phone'] = 1234567
stu_info.setdefault('email','sfsfs@163.com')
stu_info.setdefault('age',29)
print(stu_info)
#你用setdefault新增一个已经存在的key,
#它不会改变原来key的value

4.删除
# stu_info.pop('email1')
# del stu_info['email'] #
# stu_info.clear() #清空这个字典
# stu_info.popitem()#从字典里面随机删除一个元素
# print(stu_info)

d1={'b':1}
d2={'a':'v'}
d1.update(d2)
print(d1)
print(stu_info.keys()) #获取字典里面所有的key
print(stu_info.values()) #获取字典里面所有的value

#你试一下,直接循环字典,看看每次循环的是字典的key

# for i in stu_info:
# s = " %s => %s" %(i,stu_info.get(i))
# # print(i,stu_info[i])
# print(s)

print(stu_info.items())

# for k,v in stu_info.items():
# print(" %s => %s" %(k,v))


# print('name' in stu_info) #判断key是否存在
# print('name' in stu_info.keys())#判断key是否存在
五 字典嵌套
tu = {'name':'小明'}
# stu_info = {
# 'xiaoming':{ "password":123456,'phone':13522,'age':18,'adder':'北京'},
# 'xiaomei': {"password": 123456, 'phone': 13522, 'age': 18, 'adder': '上海'},
# }
# print(stu_info['xiaoming']['phone'])
d = {
'春波':{
"car":{'BMW':5,'BENZ':3,'audi':3,'byd':4},
"house":["北京",'南京','上海'],
"money":1000000,},
'小二':{
"bag":['xx','lv',],
"house":['三环','4环'],
"hzp":['skii','ysl'],
'language':{
'普通话':10,
'东北话':20,
'日语':0,
'英语':4
}
}
}
#1、春波卖了一套上海的房子,卖了500w
d['春波'][house].remove('上海')
d['春波']['monye']= d['春波']['monye']+50000000
#2、算一下马春波有多少辆车
# car_nums = d['春波']['car'].values()
# sum = 0
# for n in car_nums:
# sum = n + sum
# print(sum)
#3、春波买了一辆劳斯莱
d ['春波']['car'].append('lsls')

#4、乔美玲的东北话退步了, 从20级变成了10级
d['小二']['language']['东北话']= 10
#5、乔美玲会哪些语言
d['小二']['language'].keys()
六 字符串常用方法
s='.abc.abc.BCD,abc'

# new_s = s.strip('.') #默认去掉字符串两边的空格和换行符
# print(s.rstrip())
# print(s.lstrip())

# print(s.count('.')) #某个字符串出现的次数
# print(s.index('a')) #找某个字符串下标,如果查找的字符串不存的话,报错
# print(s.find('a')) #找某个字符串下标,查找的字符串不存在会返回-1
# print(s.replace('abc','ABC'))
# print(s.upper()) #变成大写字母
# print(s.lower()) #变成小写字母
s=''
# print(s.capitalize())#首字母大写
# print(s.startswith('p')) #判断是否以某个字符串开头
# print(s.endswith('.jpg')) #判断是否以某个字符串结尾
# print(s.islower()) #判断是否都是小写字母
# print(s.isupper()) #判断是否都是大写字母
# print(s.isdigit())#判断是否为纯数字
# print(s.center(50,'='))

# print(s.isalpha()) #判断是不是为字母、或者汉字,不能有数字和特殊符号
# print(s.isalnum()) #字符串里面只要没有特殊字符,就返回true
# print(s.isidentifier())#是不是一个合法的变量名
# print(s.isspace())
# s='insert into user value (%s,%s,%s,%s,%s,%s)'%(user,paswd,)

s='insert into user VALUE ({username},{password},' \
'{addr},{email},{phone}); '

news = s.format(addr='北京',phone=1223,email='niu@qq.com',
username='niuhanyang',password='123245')
d = {'addr':'北京','username':'xiaohei','password':'12345','email':12,
"phone":'sdfs'}
# s_map =s.format_map(d)
# print(s_map)
# print(news)
# print('s',s)
# print('new_s',new_s)

# s='1'
# print(s.zfill(3)) #补0

# l = [1,2,3,4,5,6,7,8,9,10,11,12]
# for i in l:
# res ='0'+str(i)
# print(res)



s='user1 user2 user3 user4 user5 user6 user7'
# print(s.split(',')) ##按照某个字符来分隔字符串,返回一个list
# print(s.split())#什么都不传的话按照空格来分隔字符串

cars=['BMW','ben-z','audi']
cars_str = str(cars)
print(cars_str)
print('第一个元素',cars_str[0])
res = ','.join(cars) #以某个字符串把list里面元素连起来。
print(res) #'bmw,ben-z,au
 

 

posted on 2018-11-22 14:32  听心儿  阅读(730)  评论(0)    收藏  举报

导航