python基础05

python基础05

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、付费专栏及课程。

余额充值