基本数据类型补充

lst = ["alex", "dsb", "wusir", "xsb"]
使用前面的字符串. 对后面的列表进行拼接,拼接的结果是一个字符串
s = "_".join(lst)
print(s)


split() 根据你给的参数进行切割, 切割的结果是列表

s = "alex_dsb_wusir_xsb"
lst = s.split("_")  # 列表
print(lst)

需要把字符串转化成列表: split()
把列表转化成字符串: join()


print("*".join("周润发"))  # 用迭代的方式进行的拼接

2. 关于删除
lst = ["篮球", "排球" ,"足球", "电子竞技", "台球"]

lst.clear()

for el in lst:
    lst.remove(el)

print(lst) # 删不干净.原因是: 删除一个. 元素的索引要重新排列, for循环向后走一个. 差一个

for i in range(len(lst)): # 0 1 2 3 4
    lst.pop(0)
print(lst)


lst = ["篮球", "排球" ,"足球", "电子竞技", "台球"]
# 最合理的删除方式:
# 1. 把要删除的内容写在新列表中.
# 2. 循环这个新列表. 删除老列表

# 需求: 删除列表中代球字的运动项目
new_lst = []
for el in lst:
    if "球" in el:
        new_lst.append(el) # 记录要删除的内容

# 要删除的列表
print(new_lst)
# 循环新列表. 删除老列表
for el in new_lst: # ['篮球', '排球', '足球', '台球']
    lst.remove(el)

print(lst)


字典
字典在被循环的时候是不能删除的.
dic = {"张无忌":"乾坤大挪移", "周芷若":"哭", "赵敏":"卖萌"}

# for k in dic:
#     # dic.pop(k)  # dictionary changed size during iteration
#     dic["灭绝师太"] = "倚天屠龙剑" # dictionary changed size during iteration

# 把要删除的key保存在一个新列表中
# 循环这个类表.删除字典中的key:value
lst = []
for k in dic:
    lst.append(k)

# 循环列表
# 删除字典中的内容
for el in lst:
    dic.pop(el)
print(dic)


s = {"杨逍", "范瑶", "韦一笑", "谢逊"} # set集合
for el in s:
    s.remove(el) # Set changed size during iteration

集合和字典是一家人
字典: key必须是不可变的. 可哈希的, 不重复的
集合: 元素必须是不可变的. 可哈希的, 不重复的

dic = {"韦一笑":"青翼蝠王", "韦一笑":"张无忌"}
# dic['韦一笑'] = "应天正" # 修改
print(dic)


坑: 大坑, 神坑
fromkeys() 帮我们创建字典用的
把第一个参数进行迭代. 拿到每一项作为key和后面的value组合成字典
d = dict.fromkeys("张无忌", "赵敏") # 创建字典
print(d)








坑1: 返回新字典. 和原来的字典没有关系
dic = {}
d = dic.fromkeys("风扇哥", "很困")
print(dic) # {}
print(d)


坑2: 如果value是可变的数据类型,
那么其中一个key对应的value执行的更改操作. 其他的也跟着变
d = dict.fromkeys("胡辣汤", [])
print(d) # {'胡': [], '辣': [], '汤': []}
print(id(d['胡']))
print(id(d['辣']))
print(id(d['汤']))

d['胡'].append("河南特色")
print(d)  # {'胡': ['河南特色'], '辣': ['河南特色'], '汤': ['河南特色']}

  

posted @ 2018-12-04 17:49  =-=-  阅读(94)  评论(0编辑  收藏  举报