1. 基础数据类型补充

需要把字符串转化为列表:split()
把列表转化成字符串: join()
#join() 使用前面的字符串,对后面的列表进行拼接,拼接的结果是一个字符串
lst = [\'yesterday\', \'today\', \'tomorrow\']
s = \'_\'.join(lst) #字符串
print(s) # yesterday_today_tomorrow
#split()根据给的参数进行切割,结果是一个列表
s1 = \'yesterday_today_tomorrow\'
lst = s1.split(\'_\')  #列表
print(lst) # [\'yesterday\', \'today\', \'tomorrow\']

  列表和字典: 都不能在循环的时候直接删除
  把要删除的内容记录在新列表中然后循环这个新列表. 删除列表(字典)

#删除带球的运动
li = [\'篮球\', \'网球\',\'兵乓球\', \'电子竞技\', \'台球\']
new_lst = []
for item in li:
    if \'\' in item:
        new_lst.append(item) #将需要删除的元素放入新列表
print(new_lst) #显示需要删除的内容, [\'篮球\', \'网球\', \'兵乓球\', \'台球\']
for el in new_lst: #遍历新列表, 删除老列表中的内容
    li.remove(el)
print(li) # 最后输出没有包含球类的运动 [\'电子竞技\']

   fromkeys():Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。语法: dict.fromkeys(seq[, value])

  注意: 在面试过程中,在这里有2个坑:

#坑1:返回一个新字典,和原来的关系没有关系
dic = {}
dict.fromkeys(\"天气\", \"很好\") # 会返回一个新的字典{\'天\': \'很好\', \'气\': \'很好\'}
print(dic) # {}

#坑2:如果value是可变的
d = dict.fromkeys(\'天气\', [])
print(d) # {\'天\': [], \'气\': []}
d[\'\'].append(\'很好\')
print(d) # {\'天\': [\'很好\'], \'气\': [\'很好\']}

 

2.深浅拷贝:

(1) = 没有创建新对象, 只是把内存地址进行了复制

# 从上到下只有一个列表被创建
lst1 = [\"yesterday\", \"today\", \"tomorrow\"]
lst2 = lst1  # 并没有产生新对象. 只是一个指向(内存地址)的赋值
print(id(lst1)) # 32035016
print(id(lst2)) # 32035016

lst1.append(\"July\")
print(lst1) # [\'yesterday\', \'today\', \'tomorrow\', \'July\']
print(lst2) # [\'yesterday\', \'today\', \'tomorrow\', \'July\']

\"\"

(2.) 浅拷贝

 

lst1 = [\"yesterday\", \"today\", \"tomorrow\"]
lst2 = lst1.copy()  # 拷贝, 可以帮我们创建新的对象,和原来长的一模一样, 浅拷贝,只拷贝第一层内容
print(id(lst1)) # 35508424
print(id(lst2)) # 35433736
lst1.append(\"July\")
print(lst1) # [\'yesterday\', \'today\', \'tomorrow\', \'July\']
print(lst2) # [\'yesterday\', \'today\', \'tomorrow\']

\"\"

(3)深拷贝

lst1 =  [\"yesterday\", \"today\", \"tomorrow\",[\'year\', \'month\',\'day\']]
lst2 = copy.deepcopy(lst1) # 深拷贝: 对象内部的所有内容都要复制一份. 深度克隆(clone). 原型模式

print(id(lst1)) # 36298952
print(id(lst2)) # 36063624

print(lst1) # [\'yesterday\', \'today\', \'tomorrow\', [\'year\', \'month\', \'day\']]
print(lst2) # [\'yesterday\', \'today\', \'tomorrow\', [\'year\', \'month\', \'day\']]

lst1[3].append(\"July\")
print(lst1) # [\'yesterday\', \'today\', \'tomorrow\', [\'year\', \'month\', \'day\', \'July\']]
print(lst2) # [\'yesterday\', \'today\', \'tomorrow\', [\'year\', \'month\', \'day\']]

\"\"

收藏 打印