Python day04——列表、元组、字典

一、列表(List)

列表的定义:

(1)列表(List)是Python中使用最频繁的数据类型,在其它语言中通常叫“数组”。

(2)列表用于存储一串信息。

(3)列表用“[ ]”定义,数据之间用“,”分隔。

(4)列表的索引从0开始。

练习:

(1)定义列表。

例如:定义name_list列表,列表中包含 zhangsan、lisi、wangwu。

name = ["zhangsan", "list", "wangwu", "小王"]

(2)显示列表。

例如:显示name_list列表中的各个名字,print(name_list)

print(name)

(3)知道索引号取值。

例如:显示索引号为2的姓名,print(name_list[2])

print(name[1])

(4)知道值取索引号。

例如:显示lisi的索引号,print(name_list.index("lisi"))

print(name.index("list"))

(5)修改内容。

例如:将lisi修改为zhaoliu, name_list[1]="zhaoliu"

name[1] = "zhaosi"

(6)在列表中增加内容。

         append方法:在列表的末尾增加数据,例如:name_list.append("小明")

         insert方法:在列表的指定索引位置插入数据,例如,name_list.insert(1,"小红")

         extend方法:把其它列表的全部内容插入到当前的列表末尾,

  例如:先定义列表 temp_list=["关羽","张飞","赵云","魏延"]       name_list.extend(temp_list)

# 增加内容
name.append("zhaoliu")
print(name)
# 插入
name.insert(1, "xiaoming")
print(name)
# 插入内容至列表尾端 
temp_name = ["小红", "小刚", "小王", "小李"]
name.extend(temp_name)
print(name)

(7)删除列表中的内容。

        remove方法:删除列表中的指定数据。例如:删除name_list列表中的wangwu,name_list.remove("wangwu"),(注:若有多个相同的数据,则删除第一个指定的数据)

        pop方法:默认删除列表中的最后一个元素,例如name_list.pop(),也可以指定要删除的元素的索引,例如:name_list.pop(2)

        clear方法:清空列表,所有数据清除。

# 删除列表内容
name.remove("zhaosi")
print(name)
# pop方法删除列表最后一个元素,删除指定索引
name.pop()
print(name)
# 删除指定索引
name.pop(1)
print(name)

(8)统计列表的长度(元素的个数),使用len函数。

例如:print(len(name_list))

print(len(name))

(9)统计列表中某个数据出现的次数,使用count方法。

例如:print(name_list.count("wangwu"))

icount = name.count("小王")
print(icount)

(10)列表的升序、降序、逆序。

        例如:定义列表score_list = [10, 90, 55, 92, 45, 87, 99, 100, 66, 35, 89, 100]

        升序方法。score_list.sort()

        降序方法。score_list.sort(reverse=True)

        逆序方法。score_list.reverse()

score_list = [10, 90, 55, 92, 78, 90, 24, 78, 62, 19, 84, 100, 39, 57]
print(score_list)
# 升序
score_list.sort()
print(score_list)
# 降序
score_list.sort(reverse=True)
print(score_list)
# 列表反转(逆序)
score_list.reverse()
print(score_list)

结果:

(11)迭代遍历列表。

例如:使用for迭代遍历name_list,并输出。

name_list = ['zhangsan', 'lisi', 'wangwu']

for my_name in  name_list:
    print("名字是:%s" % my_name)


二、元组(Tuple)

元组的定义:

(1)元组表示多个元素组成的序列。

(2)元素之间用“,”分隔。(注意:列表也是用","分隔)

(3)元组用"( )"定义。(注意:列表是用“[  ]”定义

(4)元组与列表类似,不同之处在于元组的元素不能进行增、删、改的操作,列表的元素能进行增、删、改的操作。

(5)元组的索引从0开始。(注意:列表的索引也是从0开始)

(6)列表一般存储相同类型的数据,元组可以存储不同类型的数据,元组有特定的应用场景。

元组与列表区别:

元组列表
分隔“,”“,”
定义"( )"

“[  ]”

元素不能进行增、删、改能进行增、删、改
索引从0开始从0开始
存储数据可以是不同类型一般是相同类型
有特定的应用场景

练习:

(1)定义一个元组student,包含学号1001,姓名zhangsan,年龄18,成绩96.5 。

student = ("1001", "zhangsan", 18, 96.5)

(2)取相应索引的值

print(student[0])

(3)已经知道数据的值,取该数据在元组中的索引号

print(student.index("1001"))

(4)统计相同数据出现的次数

print(student.count("zhangsan"))

(5)统计元组中的元素的个数

print(len(student))

(6)使用for循环遍历元组。(注意:在实际的开发中,除非能确认元组中的数据类型,否则针对元组的循环遍历需求不是很多。)

    for stu_info in student:

        print(stu_info)

由于元组中的数据类型通常是不同的,若要使用格式字符串拼接stu_info变量输出,不方便或者出错。

例如:

    for stu_info in student:

        print("学生的信息是:%d" %stu_info)

    (7)格式化字符串和元组

print("学号:%s,姓名:%s,年龄%d,成绩%.1f" %("1001", "zhangsan", 18, 96.5))

可以替换为:

student = ("1001", "zhangsan", 18, 96.5)

print("学号:%s,姓名:%s,年龄%d,成绩%.1f" % student)

(8)元组和列表之间的转换:

用list函数把元组转换为列表,用tuple函数把列表转换为元组。

练习:

number = (1,2,3,4,5)

print(type(number))

num1 = list(number)

print(type(num1))

结果:


number =[1,2,3,4,5]

print(type(number))

num2= tuple(number)

print(type(num2))

结果:


三、字典(dictionary)

字典定义:

  1. 字典用{ }定义。(注意:元组用"( )"定义。列表是用“[  ]”定义)
  2. 字典使用“键值对”存储数据,键值对之间使用“,”分隔。(注意:最后的键值对后面不需要加",")
  3. 键(key)是索引,键必须是唯一的;
  4. 值(value)是数据;
  5. 键和值之间使用“:”连接;
  6. 值可以是任何的数据类型,但键只能使用字符串、数字或者元组。

字典(dictionary)和列表的区别:

(1)列表是有序的对象集合

(2)字典是无序的对象集合

练习:

(1)定义一个学生字典。

student01 = {"name":"zhangsan",

             "age":18,

             "性别":"男",

             "语文":88,

             "数学":95,

             "英语":72

             }            

(2)取某个键的值。

注:使用[],字典[]里面的内容是键,而列表和元组[]里面的内容是索引号。

print(student01["性别"])

(3)增加/修改。

注:如果键不存在,则新增键值对。如果键存在,则修改已经存在的键值对。

student01["学号"] = "20201001"

student01["name"] = "lisi"

(4)删除。(使用pop方法删除键)

student01.pop("age")

(5)统计键值对的数量。(使用len函数)

print(len(student01))

(6)合并字典。(注:如果被合并的字典中包含已经存在的键值,则会覆盖原来的键值对

school_dict = {"学校":"广东88888大学",

               "二级学院":"电信学院"

              }

student01.update(school_dict)

print(student01)

(7)清空字典

student01.clear()

print(student01)

(8)循环遍历

for i in student01:

    print("%s是:%s" % (i, student01[i]))

四、列表和字典的应用场景

使用字典的多个键值对存储描述一个物体的相关信息,将多个字典放在一个列表中,对列表进行操作和遍历。

student = [
    {"name": "张三",
     "sex": "男",
     "phone": "13811111111"},
    {"name": "李四",
     "sex": "女",
     "phone": "13822222222"},
    {"name": "王五",
     "sex": "男",
     "phone": "13833333333"}
]
print(student)
# 插入新数据
student.append({"name": "赵六",
                "sex": "女",
                "phone": "13944444444"})
# 删除数据
student.remove({"name": "张三",
                "sex": "男",
                "phone": "13811111111"})
print(student)
# 遍历列表
for i in student:
    print(i)
# 或者
for i in student:
    for j in i:
        print("%s是:%s" % (j, i[j]))
    print()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值