day4:Python列表(list)元组( tuple)字典(dict)

列表----list

列表:中括号,每个元素用‘,’分割,列表里面也可以嵌套列表,列表里面可以包含数字,字符串,布尔值等,也就是元素的集合

例:test = [2,4,'sun','yao']

1 #索引下标取值
2 test = [2 , 32 , 'yao',[23,'jing'],'fang']
3 print(test[3])
4 print(test[3:-1])
5 # 输出内容[23, 'jing']
6 # [[23, 'jing']]

(1)列表的值是可以修改

#修改值
test = [2 , 32 , 'yao',[23,'jing'],'fang']
test[4] = 'xian'
print(test)
# 输出内容[2, 32, 'yao', [23, 'jing'], 'xian']
test = [2 , 32 , 'yao',[23,'jing'],'fang']
test[0:3] = [520,1314]
print(test)
# [520, 1314, [23, 'jing'], 'fang']

(2)列表可删除  

#删除值
test = [2 , 32 , 'yao',[23,'jing'],'fang']
del test[1]
print(test)
# [2, 'yao', [23, 'jing'], 'fang']

(3)列表取值 

#取值
test = [2 , 32 , 'yao',[23,'jing'],'fang']
a = test[3][0]
print(a)
# 23

(4)字符串转换成列表

  list(test) , 数字不能转换成列表

  如果只有字符串没有数字的话

  列表直接转换字符串

#列表转换成字符串
test = [2 , 32 , 'yao',[23,'jing'],'fang']
a = ' '
for i in test:
    a = a + str(i)
print(a)
# 232yao[23, 'jing']fang
没有数字只有字符串可以用 ‘’.join(test)转换

(5)列表的功能: 

# 根据当前值,找出索引位置
test = [2 , 23 , 'yao',[23,'jing'],'fang',2]
a = test.index('fang')
print(a)
# 输出 4

# 列表指定位置插入新值
test = [2 , 23 , 'yao',[23,'jing'],'fang',2]
test.insert(0,'fang')
print(test)
# 输出 ['fang', 2, 23, 'yao', [23, 'jing'], 'fang', 2]

# 删除值,并获取,默认删除最后一个值
test = [2 , 23 , 'yao',[23,'jing'],'fang',2]
a = test.pop(2)
print(test,a)
# 输出[2, 23, [23, 'jing'], 'fang', 2] yao

# 指定删除值(从左开始)
test = [2 , 23 , 'yao',[23,'jing'],'fang',2]
test.remove(2)
print(test)
# [23, 'yao', [23, 'jing'], 'fang', 2]
# del pos remove clear

# 翻转当前值
test = [2 , 23 , 'yao',[23,'jing'],'fang',2]
test.reverse()
print(test)
#输出[2, 'fang', [23, 'jing'], 'yao', 23, 2]

# 排序当前值 ,默认小到达
test = [5,3,5,8,9,6,1,2]
test.sort(reverse = True)
print(test)
#输出[9, 8, 6, 5, 5, 3, 2, 1]

元组 ---tuple

例:test('sun',123,['sun',43],True,)

元组的 一级元素不可杯修改,不能增加删除   ,元组是有序的

小记 :写代码的是偶,在元组后面加个‘,’ 好区分

# 列表转换元组
test = (12,84,2,'yao',)
test1 = 'sunchao'
test2 = [12,45,'sunchao']
a = tuple(test2)
print(a)
#输出(12, 45, 'sunchao')
#count(22) 可以查看重复值的次数
#.index(82) 获取索引位置

字典 --- dict

例:test = {'k1':'sunchao','k2':'fangdi'} #键值对    kye   value

字典是无序的。字典的value 可以是任意值,但是,字典的kye 不能是,列表,字典。布尔值<只会显示(1,0)>  

重要命令:keys(), values() ,item() ,get,update,

# 列表检索
test = {'k1':'sunchao','k2':'fangdi'}
v = test['k2']
print(v)
#输出:fangdi
# 删除
test = {'k1':'sunchao','k2':'fangdi'}
del test['k2']
print(test)
#输出:{'k1': 'sunchao'}

# for 循环  默认取 key
test = {'k1':'sunchao','k2':'fangdi'}
for i in test.values():
    print(i)
#输出k1,ke2
# 如果加.values 输出sunchao fangdi
#同时获取 key 和values
for a in test.items():
    print(a)
# 输出:('k1', 'sunchao')
# ('k2', 'fangdi')
#根据序列,创建字典并且指定统一的值
v = dict.fromkeys('k1',123)
print(v)
#输出:{'k': 123, '1': 123}

#取值正确的key正常输出,如果错误,显示None
test = {'k1':'sunchao','k2':'fangdi',2:234}
v = test.get('k12')
print(v)
#输出:None

#删除值,并获取
test = {'k1':'sunchao','k2':'fangdi',2:234}
v = test.pop('k1')
print(test,v)
#输出:{'k2': 'fangdi', 2: 234} sunchao
v1 = test.popitem()#随机删除
print(v1)

#如果参数存在,只获取值
#若不存在,设置值,并获取当前KEY的值
test = {'k1':'sunchao','k2':'fangdi',2:234}
v = test.setdefault('k3','jingyao')
print(test,v)
#输出:{'k1': 'sunchao', 'k2': 'fangdi', 2: 234, 'k3': 'jingyao'} jingyao

#如果key存在,更新,
#如果不存在,添加新key及值
test = {'k1':'sunchao','k2':'fangdi',2:234}
#test.update({'k1':'fangdi','32':'jingyao'})
test.update(k1 = 123,k6 = 'jingyao')
print(test)
#输出:{'k1': 'sunchao', 'k2': 'fangdi', 2: 234, 'k3': 'jingyao'} jingyao
#输出{'k1': 123, 'k2': 'fangdi', 2: 234, 'k6': 'jingyao'}

猜你喜欢

转载自www.cnblogs.com/sunjinchao/p/10662170.html