Day 04 列表、元组和字典

一、列表:处理多个数据 [ list ]

1.创建列表:中括号括起来的,不同的数据项由逗号隔开,数据项可以是任意数据类型 
2.列表切片:同字符串切片
list1=[‘小明’,’xiaohua’,10,65,’age’,’name’]
print(list[1])             输出第二位
print(list[-1])  输出最后一位
print(list[:])  输出全部
print(list[:2])  输出前两位
print(list[1:5:1])  输出1-4
print(list[-1:-4:-1])  输出-1到-3
print(list[::])  输出全部
print(list[::-1])  倒序显示
3.增删改查(动态数组):
增:list.append(“”) 尾部追加
       list.insret(位置下标,““)
注:list1.insert(0,’html’) #在下标0处插入,原有位置和后面位置的项向后挪一位。数组和数组不能相减,列表与列表可以相加。
改:list[i]=”修改后字符” 即通过下标修改内容
删:del list1[2]
.pop():把最后一个删除,也可以指定删除的下标
.remove(“”)删除括号中的内容,但只删除一次
del lista[0]  删除第一位
del lista   删除lista列表

            查: list1=['a','b','c','d','e']

        print(list1.index('a')) 返回查找到的下标

        print('a' in list1) 返回bool值

        print('a' not in list1) 返回bool值

        4.列表的函数

        1.长度len( )

print(len(listt1)) 输出为5

2.最大值max( ),最小值min( );字母以ASCII为依据

print(max(listt1)) 输出为e

print(min(listt1)) 输出为a

3.将元组转换为列表list( )

print(list(listt1)) 输出为['a','b','c','d','e']

4.增加到列表尾部append( )

5.insert(index,obj)插入到列表相应下标位置,超出范围则在尾部添加

6.extend()列表1.extend(列表2),是把列表2迭代后追加到列表1

7.pop()默认删除最后一个,也可以指定删除的下标,返回删除值

8.remove()删除括号中的内容,但只能删除一次

9.reverse()反向列表中的元素

list2.reverse();

print(list2) 输出为['e','d','c','b','a']

   10.sort([func])排序,默认升序

list3=[5,6,4,2,9]

list3.sort()

print(list3) 输出为[2,4,5,6,9]

  11.clear()清空列表

list1.clear()

print(list1) 输出为[]

12.copy()复制列表,在内存中又开辟了一个空间;通过等号复制副本,在内存中指向原来的地址

list4=list1.copy()

print(list4) 输出为['a','b','c','d','e']

13.eval()将元组、字典、列表类型的字符串转为元组、字典、列表,可以把list,tuple,dict和string相互转化

1)字符串转换为列表

a="[[1,2],[3,4],[5,6]]"

m=eval(a)

print(type(m)) 输出为class 'list'

print(m) 输出为[[1,2],[3,4],[5,6]]

2)字符串转换为字典

a="{'name':'xu','age':'25'}"

m=eval(a)

print(type(m)) 输出为class 'dict'

print(m) 输出为{'name':'xu','age':'25'}

3)字符串转换为字典

a="('a','b','c')"

m=eval(a)

print(type(m)) 输出为class 'tuple'

print(m) 输出为('a','b','c')

二、元组(tuple)

1.定义:元组与列表类似,但是元组的元素不能编辑;元组中只包括一个元素时,需要在元素后加逗号,否则括号会被当做运算符使用。

1.长度len():

list1=('hello',false,1993,[0,1])

print(len(list1));       输出为4;

2.访问、使用切片

print(list[:])  输出全部

print(list[x:y]) 输出元素从第x位到第y-1位,x、y均为下标

print(list[::-1]) 输出倒序全部

print(list[x:y:z]) 输出元素从第x位到第y-1位,且步长为z

2.运算符、in/not in

list1=(1,2,3)

list2=('a','b','c')

list3=list1+list2 形成新的元组

print(list3) 输出结果为(1,2,3,'a','b','c')

print(list3[0,1]*3) 输出为(1,1,1)

print('a' in list3) 输出为true

print('a' not in list3) 输出为false

3.内置函数

1.长度len( )

list=('a','b','c','d','e')

print(len(list)) 输出为5

    2.最大值max( ),最小值min( )

list=('a','b','c','d','e')

    print(max(list)) 输出为e

    print(min(list)) 输出为a

3.将其他类型转换成元组:tuple( )

    list=['a','b','c','d','e']

    print(tuple(list)) 输出为('a','b','c','d','e')

三、字典{dict}

1.定义:另一种可变容器模型,且可放任意类型对象,键值对形式,以逗号分隔,键必须是唯一的

z={'name':'xu','age':'25','banji':'python'}

2.增删改查

1)增加

z['a']='b'

print(z) 输出为{'name':'xu','age':'25','banji':'python','a':'b'}

2)删除

del z['a']

print(z) 输出为{'name':'xu','age':'25','banji':'python'}

3)修改

z['age']='18'

print(z) 输出为{'name':'xu','age':'18','banji':'python'}

4)查询

print(z['name']) 输出为xu

print(z.get['name']) 输出为xu

print(z.get('job','not find')) 输出为not find

3.函数

1)长度:len( )

z={'name':'xu','age':'25','banji':'python'}

                        print(len(z)) 输出为3

2)获取键:keys( )

for n in z.keys():

    print(k,end="\t") 输出为name age banji

3)获取值:values( )

for j in z.keys():

    print(j,end="\t") 输出为xu 25 python

4)获取每个键对值的元组items( )

             for n,j in z.items:

                print(n,j,end="\t") 输出为name xu age 25 banji python

4.练习

1)动态的给字典输入5个学生的姓名和手机号

list={}

for i in range():

a=input('请输入姓名:')

b=input('请输入电话:')

list[a]=b

print(list)

2)创建2个列表 一个存姓名 一个存手机

======通讯录管理系统======

1.增加姓名和手机

2.删除姓名

3.修改手机

4.查询所有用户

5.根据姓名查找手机号

6.退出

=====================

flag=True;

names=[];

phones=[];

while flag:

print("======通讯录管理系统======")

print("1.增加姓名和手机")

print("2.删除姓名")

print("3.修改手机")

print("4.查询所有用户")

print("5.根据姓名查找手机号")

print("6.退出")

print("=============")

print("input(请选择:"))

if i==6:

flag=False;

elif i==1:

names.append(input('请输入姓名:'));

phones.append(input('请输入手机号:'))

elif i==2:

names.remove(input("请选择删除的姓名:"))

elif i==3:

n=input("请输入你的手机号:")

j=phones.index(n);

m=input("请填写修改后的手机号:")

phones[j]=m;

elif i==4:

for i in range(len(names)):

print(names[i],end="");

print(phones[i],end="");

print()

elif i==5:

j=names.index(input("请输入用户姓名:"));

print(phones[j]);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值