python基础05

本文介绍了Python基础中的列表推导式,包括如何创建有规律的列表,以及通过for和if结合简化创建过程。接着讲解了列表的常用技巧,如合并列表、字符串与列表的转换、数据类型的判断以及enumerate函数的应用。然后,文章深入讨论了字典的使用,包括创建、修改、增加、查找和拷贝等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.3.3列表的嵌套

   一个列表中的元素又是一个链表,这就是列表的嵌套

3.3.4列表推导式

  列表推导式(列表生成式):用一个表达式创建一个有规律的列表或控制一个有规律的列表

   例子:

(1)# 需求列表 0 -20

# list1 = list(range(0, 21))

# print(list1)

 

# while 准备一个空列表,(i<21)然后range生成等差数列 把数字追加到空列表

# list2 = []

# i = 0

# while i<21:

#      list2.append(i)

#      i += 1

# print(list2)

 

# list3 = []

# for i in range(0, 21):

#      list3.append(i)

# print(list3)

 

# list4 = [i for i in range(0, 21)]

# print(list4)

 

(2)# 取0-20之间的偶数

# list5 = []

# for i in range(0, 21, 2):

#      list5.append(i)

# print(list5)

 

# list6 = []

# for i in range(0,21):

#      if i % 2 == 0:

#          list6.append(i)

# print(list6)

 

# list7 = [i for i in range(0,21, 2)]

# print(list7)

 

# list8 = [i for i in range(0, 21) if i % 2 == 0]

# print(list8)

 

# 生成10 666 列表

# list9 = ['aaa' for _ in range(10)]

# 因为返回的数据和i没有任何关系,所以把i替换成 _

# print(list9)

 

#mylist = ['daqiu', 10,'erqiu', 20, 'qiu', 'sanqiu']

# 循环遍历迭代:要字符长度>=3

# len(str(i))

#list10 = [i for i in mylist if len(str(i)) >= 3]

#print(list10)

3.3.5列表常用技巧

  (1)合并列表

            方法一:+

                list3 = list1 + list2

            ②方法二:+=

                list1 += list2

            ③方法三:extend

                list1.extend(list2)

 (2)字符串与列表间的互转

    ①字符串转列表

     字符串名.split(“分割符号”)

注意:当split的小括号里面什么都不写的时候,只要是空格或者\t都会被去掉

    ②列表转字符串☆☆☆

     "分割符号".join(列表名)

     注意:当有混合类型时,用列表推导式:

# list4 = [1, 2, 3, 'abc', 'bcd']

# list5 = [str(i) for i in list4]

# print(list5)

# str5 = '_'.join(list5)

# print(str5)

(3)判断某个数据是不是某个数据类型☆☆☆

        isinstance(数据,类型)

(4)enumerate☆☆☆

 返回一个列表,列表里面包含的是下标和数据对应的元组。利用enumerate拆包,数据更加可控

    例子:

mylist = ['aa', 'bb', 'cc']

for i in enumerate(mylist):

    print(i)

print(list(enumerate(mylist)))

# print(id(mylist)) # id() 查看任何一个数据的内存地址

for key,value in enumerate(mylist):

    print(key)

    print(value)

3.4字典

3.4.1字典的使用和创建

(1)创建空字典

  ①手动创建:dict1{}

  ②用函数(方法):dict1 = dict()

 (2)创建有数据的字典

  ①键值对,各键值对之间用逗号隔开

     如:dict2 = {'name': 'python', 'age': 28}

  ② 用函数(方法):dict()

      如:dict4 = dict(name='aa', age=18)

    经典例子:

       dict5 = dict([('one',1),('two',2)])

       print(dict5)

 

dict6 = {}

dict7 = dict6.fromkeys(['aa', 'bb', 'cc'], 10)

#当字典的所有键的取值均是相同值时用fromkeys

print(dict7)

(3)取数据

   字典不支持下标,也就是说是无序的。字典通过键名取数据。

      如:print(dict2['name']) 

3.4.2字典_修改、增加和查找

(1)查找

 ① 字典通过键名查找数据,如果等号赋值,如果有这个键,则修改值;如果没有,则新增这个键值对。如果仅查找键名,键名不存在时报错

 ②get() 

通过键名查找数据,如果有这个键,则返回对应的值;如果没有,默认返回None;

   注意:如果get设置了第二个参数,如果没有这个键,则返回第二个参数(给自己一个提示)

 ③setdefault()

通过键名查找数据,如果有这个键,则返回对应的值,如果没有默认返回None,同时会在字典中新增这个键值对,新增的键值对的key是查找的那个键名,value是None

  注意:如果setdefault设置了第二个参数,如果没有这个键,则返回第二个参数,同时默认新增键值对。键名:第二个参数

(2)增加:update()既能修改又能新增

       语法:字典名1.update(字典名2)   #用2去更新1

如:

dict1 = {'name': 'python','age':28} 

       dict2 = {'name': 'gui', 'sex': 'man'}

       print(dict2)

    # 用2去更新1:既能修改又能新增

     dict1.update(dict2)

      print(dict1)

3.4.3字典_拷贝

 (1)浅拷贝:赋值型拷贝

 (2)深拷贝:copy()

 (3)copy模块做拷贝

     import copy

     dict2 = copy.deepcopy(dict1)

   注意:这种方式的好处是复杂数据,添加的时候不影响彼此

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值