#和列表一样,只不过是不可变变量
#定义元组时,如果元组只有一个元素,要在元素后面加一个逗号,要不然就是一个字符串
lis = [] #列表这样定义
tp = (‘127.0.0.1‘,‘3306‘)
#lis[0]=‘3306‘ #不能这样写,因为这个列表为空,下标0不存在,要用append或者insert
print(lis)
print(tp)
tp = (‘127.0.0.1‘,‘3306‘) #元组
names = [1,2,3,"lingyul",‘panyang‘] #列表
name = ‘lingyul,cyc‘
new_lis = tuple(lis)
print(type(new_lis))
#强制类型转换的int float str list tuple
#字符串,列表,字典
#字典是无序的
#定义一个字典
info = {
‘name‘:‘lingyul‘,
‘age‘:18,
‘sex‘:‘woman‘,
‘id‘:‘1‘,
}
#查询
print(info[‘name‘])
print(info.get(‘id‘))
print(info.get(‘addr‘)) #get方法取值找不到时会返回none#####运行结果为none
print(info.get(‘addr‘,‘beijing‘)) #如果get取不到值,就返回后面的那个值#####运行结果为beijing
#这两个的区别是:用[]取值如果值没有,会返回错误信息
#get方法取值找不到时会返回none
#字典的取值就这两种方法
#增
info[‘addr‘] = ‘Beijing‘
print(info.get(‘addr‘))
info.setdefault(‘phone‘,110110)
print(info)
#修改
info[‘id‘]=7 #这种方法既能新增也能修改,在有id这个值得情况下为修改,在没有这个值得情况下会新增
print(info)
#删除
del info[‘addr‘]
print(info)
#字典是无序的,所以用pop删除时必须指定删除什么
print(info.pop(‘phone‘))
print(info)
info.popitem() #随即删除一个元素
info.clear() #清空字典
#????????????????????????????????????????????????????????????????????????????
new_infos = [
{
‘yangwb‘:
{
‘id‘:1,
‘sex‘:‘mans‘,
‘phone‘:250,
‘addr‘:‘huoying‘
},
‘yangwn‘:
{
‘id‘:2,
‘sex‘:‘mans‘
}
}
]
print(new_infos[0].get(‘yangwb‘).get(‘addr‘))
all={
‘car‘:
{
‘color‘:[‘red‘,‘yellow‘,‘black‘],
‘moeny‘:111111,
‘pailiang‘:‘2.5L‘,
‘name‘:‘BMW‘
},
‘car1‘:
{
},
‘car2‘:
{
}
}
print(all.keys())#获取字典的所有key
print(all.values())#获取所有的value
print(‘items is:‘,all.items())#同时获取字典的key和values,循环的使用
info2 = {
‘name‘:‘lingyul‘,
‘age‘:18,
‘sex‘:‘woman‘,
}
for k,v in info2.items():
print(‘%s is %s:‘%(k,v))# items方法的作用就是为了循环时同时把key和value取到
#如果数据比较大时,会很慢,它是先把字典取出来变成字符串,在取字符串的值
#这种效率比较高
for k in info2:
print(‘k is:‘,k)
print(info2[k])
#把两个字典合并在一起,如果有一样的Key,那么更新value
info.update(info2)
#python2中判断key是否存在,python3中没有
info.has_key(‘name‘)
print(‘name‘ in info) #python3中直接用in判断是否存在某个key值