列表和元组

it2024-07-31  40

列表和元组

一、列表

         1、作用:一次性存储多个数据,且可为不同数据类型,里面的数据可以修改

                  格式:[数据1,数据2,数据3,。。。]

         2、函数:        

                name_list = ['tom','xiaohu','marli','heshang']

                # index(数据,开始,结束下标):列表查找返回下标

                         print(name_list.index('marli'))

                # count(数据,开始,结束下标):子串在列表中出现的次数

                        print(name_list.count('heshang'))

                # len(列表名):查列表中有几条数据

                        print(len(name_list))

                #子串 in 字符串:子串是否在字符串中

                        print('tom' in name_list)

                # 子串 not in 字符串:子串是否不再字符串中

                        print('ll' not in name_list)

         3、案例

                name_list = ['tom','xiaohu','xiaohong','xiaoshang']

                name = input("请输入用户名:")

                 if name in name_list:

                            print(f'您输入的名字是{name},此用户已存在')

                else:

                            print(f'您输入的名字是{name},注册成功')

                            name_list.append(name)

                print(len(name_list))

         4、列表增加数据

                1)、# 列表.append(追加数据):列表结尾添加数据,

                # 如果追加序列那么追加整个序列到列表里

                        name_list = ['tom','xiaohu','marli','heshang']

                        name_list.append('xiaomingss')

                        print(name_list)  # ['tom','xiaohu','marli','heshang','xiaomingss']

                        name_list.append([1,2])

                        print(name_list)  # ['tom','xiaohu','marli','heshang','xiaomingss',]

                2)、# 列表.extend(数据):列表结尾追加数据,把数据拆开逐一追加数据到列表

                name_list2 = ['tom','xiaohu','marli','heshang']

                name_list2.extend([1,2])

                 name_list2.extend('xiaomingss')

                 print(name_list2)      #['tom', 'xiaohu', 'marli', 'heshang', 1, 2, 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g', 's', 's']

                3)、# 列表.insert(位置下标,数据)

                name_list3 = ['tom','xiaohu','marli','heshang']

                name_list3.insert(1,'heihei')

                print(name_list3)   #['tom','heihei','xiaohu','marli','heshang']

         5、列表的删除

                1)、# del 列表名称:列表删除

                name_list = ['tom','xiaohu','marli','heshang']

                del name_list

                print(name_list)#  报错,没有这个列表

                2)、# del 数据指定下标:删除列表中的数据

                del name_list[1]

                print(name_list)

                3)、# 列表.pop(下标):删除指定下标数据,默认最后一个,并返还删除的数据

                nn = name_list.pop()

                print(nn)

                print(name_list)

                4)、# 列表.remove(数据):移除列表中某个数据的第一个匹配项

                name_list.remove('tom')

                print(name_list)

                5)、# clear():清空数据

                name_list.clear()

                print(name_list)

        6、列表的修改

                name_list = ['tom','xiaohu','marli','heshang']

                1)、# 列表下标 = 修改后的数据:修改指定下标数据

                        name_list[0] = 'ke'

                        print(name_list)

                2)、# reverse():逆序

                        num =[1,6,8,9,3,7]

                        num.reverse()

                        print(num)

                3)、# sort():排序 升序(默认False)和降序(True)

                        num.sort()

                        print(num)

                        num.sort(reverse=True)

                        print(num)

                        num.sort(reverse=False)

                        print(num)

                4)、# copy():复制序列,如果用赋值的话原序列改变那么赋值之后的序列也会改变,赋值的不是数据而是地址

                        name_list3 = ['tom','xiaohu','heshang']

                        nae = name_list3  #  赋值指向name_list3的地址,原地址改变那么nae也改变

                        naee =name_list3.copy()

                        name_list3[0] = 'ke'

                        print(name_list3)  ['ke','xiaohu','heshang']

                        print(nae)   #['ke','xiaohu','heshang']

                        print(naee)   #['tom','xiaohu','heshang']

        7、列表的循环遍历

                # while

                name_list = ['tom','xiaohu','marli','heshang']

                i=0

                while i < len(name_list):

                       print(name_list[i])

                       i += 1

                # for

                for i in name_list:

                print(i)

   注:for循环比while更简洁

        8、列表的嵌套

                a = [[1,2],[3,4,5],[6,7,9]]

                print(a[2])   #[6,7,9]

                print(a[2][1]) #7

二、元组

        1、作用:一个元组可以存储多个数据,且可为不同数据类型,但元组的内容不可被修改

        2、定义:

   注意:如果括号里只有一个数据,得在数据后面添加逗号,否则这个数据的数据类型,为原来的数据类型

                 多个数据:t1 = (数据1,数据2,数据3,……)

                 单个数据:t2 = (数据,)

        3、元组的查

                1)、# 下标查找数据

                        tuple1 = (10,12,'name','cc','name')

                        print(tuple1[2])#name

                2)、# 元组.index(子串:开始下标:结束下标):查找某个数据,返回对应下表,否则报错

                        print(tuple1.index('cc'))#3

                3)、# 元组.count(子串:开始下标:结束下标):统计数据在元组中出现的次数

                        print(tuple1.count('name'))#2

                4)、# len(元组):统计元组数据的个数

                        print(len(tuple1))#5

        4、元组的修改:某些特定的数据可以被修改

                # 元组的修改;某些特定的可被修改;tuple1就是典型的不可修改;元组里的列表数据可被修改

                tuple2 = (10,12,'name',['cc','name'])

                print(tuple2)#(10, 12, 'name', ['cc', 'name'])

                tuple2[3][0] = 'Tom'

                print(tuple2)#(10, 12, 'name', ['Tom', 'name'])


最新回复(0)