一.python基础 -------列表 元组

1.列表的数据类型不需具有相同的类型

 创建一个列表,只需要把逗号分割的不同的数据类型项使用方括号括起来即可

  list1=['Google','Runoob'1997,2000]:

  print('list[0]:',list1[0])


列表也可以使用切片:原来字符串这里也可以用

 print(list[1:3])



2.数据结构--->列表的增删改查(insert,delete,update,query)

    li=[33.33,'abc','456',90,'Google','Runoob'1997,2000]

    print(type(li))

    print(li)                               #切片

    print(li[:])

    print(li[-1::-1])                     #从前到后


增:list1.insert(4,2001),

list1.append('hello')

 两个列表还可以进行相加

 列表还可以 以*的操作符 listl*3

 列表1.extend(列表2),是把列表2迭代后(遍历 循环)加到列表1,extend()没

 有返回值

   li=['Google','Runllb',1997,2000]

    li.append('2018')

    print(li)

    li.insert(2,'青年节')

    print(li)


    li1=['a','b','c','d']

    li2=[1,2,3,4]

    li1.append(li2)

    li1.extend(li2)         #注释掉

    for i in li2:

       li1.append(i)
   print(li2*4)           #乘于4
   print(li2)
 
 

删除:del list1[2]

  listl.pop(int index):把最后一个删除,也可以指定删除的下标
  litl.remove("")删除括号中的内容,但只删除一次
  del li2[2:]
  print(li2)

  del li2[2:]
  li2.pop(1)        #删除下标
  print(li2)

修改:list[2]=2001

 li2[li2.__len__()-1]=6
 print(li2)

查:list.index('Runoob')返回查找到的下标 不存在 抛

异常

用 in /not in可以查找是否存在

 print(li2.index(3))

  print('3' in li2)


嵌套列表:[['a','b','c'],[1,2,3]]

 li3=[li1,li2]

  print(li3[1][3])


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

list函数 dir(object)将一个数据类型的所有函数和属性 

输出

_len__() __类型的函数代表私有的_一般不调用

1.len(list)

列表元素个数

print(dir(list))  # dir将一个数据类型的所有函数属性 输出

print(li3.__len__())

print(len(li3))   #__len__() —类型的函数代表私有


2.max(list) 字母 以ascii为依据

返回列表元素最大值


3.min(list)

返回列表元素最小值

   print(max(li1))

   print(min(li1))


4.list(seq)

将元组转换为列表


5.list.append(obj)

在列表末尾添加新对象


 tu=(1,2,1)

 new_li=list(tu) #构建函数-->开辟新空间 初始化数据

 # 数据

 print(id(li1))  #返回变量 对象的内存地址

 print(id(li2))

 print(new_li)

 print(tu)


 6.list.extend(seq)

 在列表末尾一次性追加另一个 序列中 的每个值 (用新列表扩展原来的列表)

 li1.extend(tu)

 print(li1)


7.list.pop(obj=list[-1])

 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 参数识下标 


8.list.reverse()

 反向列表中元素

 pop=li1.pop()


9.list.sort([func])

 对原列表进行排序 如果指定参数,则使用比较函数指定的比较函数


10.list.clear()

 清空列表


11.list.copy()

 复制列表

li1.sort()

li1.clear()

li5=li1.copy()

print(id(li1))

print(id(li5))

li5[2]='w'

print(li1)

print(li5)


a = [1,2,3]

b=a

print(a)

print(b)

b[2]=9

c = []

c = a

c[1]=9

print(c)

print(a)


d=a[:]

d[1]=7

print(d)

print(a)


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

二.元组

names=('*********')

while i<len(names):

i=0           #元素下标

while i<len(names)

       print(names[i]

       i+=1    #i=i+1


r=[1,2,1]

r1=str(r)

print()


(1,2,5,7)

r='23,5,6'

val = eval(r)

print(val)

eval()将元组 字典 列表类型的字符串转换为元组 字典 列表 没有表示默认元组

可以把list,tuple,dict和string相互转换


既定 创建的时候 不会改变

1.可变

2.数值 不可变类型

  a=1

  a=2

  b=1

  print(id(1))

  print(id(a))

  print(id(b))


  t=(1,2,'oop',4,[2,2,3],'汉字')

  print(t[1])

  t[4][1]=3

  print(t)


  t=(1,2,'oop')

  #逐个赋值 一一对对应

  print(t[1])

  t[4][1]=3


  a,b,c=t

  print(a,b,c)

  

  a=(33)

  print('a:',a)

  print('a:,')


  t1=t*3

  print(t1)

  print(t2-t1)

  print(max(t))

  print(min(t))

  li=[1,2,3,6,5,4]

  tu=tuple(li)   #创建一个元组 格式的数据格式 内容就是小括号

  print(tu)

  tul=(tu[:])

  print(tul)

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

练习.

3.求列表中最大值,最小值 2listl.max(),listl.min()

  创建两个列表 一个存姓名 一个存手机:


names=['索隆','山治']
phones=['123','321']
while True:
    print("=======通讯录管理系统=========")
    print("1.增加姓名和手机")
    print("2.删除姓名")
    print("3.修改手机")
    print("4.查询所有用户")
    print("5.根据姓名查找手机号")

print("6.退出")

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

    i = int(input("请选择:"));
    if i ==1:
        name=input('请输入姓名')
        if name in names:
            s=input('此名字已存在,是否继续录入 y/n')
            print()
            if s=='y':
                name=input('请输入姓名')
                names.append(name)
                phone = input('请输入手机号')
                if phone in phones:
                    print('手机号存在,请重新录入')
                else:
                    phones.append(phone)
            else:break
        else:
            names.append(name)
            phone=input('请输入手机号')
            if phone in phones:
                print('手机号存在,请重新录入')
            else:
                phones.append(phone)
    elif i == 4:
        for j in range(len(names)):
            print(names[j],'的手机号为',phones[j])
    elif i == 2:
        name=input('请输入姓名')
        if name in names:
            index = names.index(name)
            names.pop(index)
            phones.pop(index)
            print('删除成功')
        else:
            print('姓名不在通讯录')
    elif i == 3:
        name=input('请输入要修改哪位机主')
        if name in names:
            phone=input('请输入修改后的手机号')
            index = names.index(name)
            phones.insert(index,phone)
            print('修改成功')
        else:
            print('姓名不在通讯录')
    elif i ==5:
        name = input('要查找的人')
        if name in names:
            index=names.index(name)
            phone=phones[index]
            print(phone)
        else:
            print('姓名不在通讯录')
    if i==6:
        print('谢谢使用')
        break

猜你喜欢

转载自blog.csdn.net/hwj990/article/details/80224417
今日推荐