1.基础数据类型的补充.
下面看一个例子:
s = '123'
s1 = s.join('abc')
print(s1)
运行结果如下:
由此可以看出join是将s的值插入s1每一项值之间.
再一个例子:
a = '***'
s1 = a.join(['a', 'b', 'c'])
print(s1)
我们会得到以下结果:
由此可见join()可以把列表变成字符串.
2.删除列表中的每一项
看到这句话我们会直接想到clear()这样我们就能直接把列表清空.
但是,我们就想用循环把列表清空,怎么办?我们来看看下面这个例子:
li = [11, 22, 33, 44]
for e in li:
li.remove(e)
print(li)
按照例子的原意是想通过for循环把li列表中的元素一个一个的删除.
结果程序运行之后的结果为:
运行完之后,我们打印的列表中还存在两个元素.
原因是什么其实不难想象,如题,按照循环运行:
第一次循环完成之后li中的元素的第[0]项.已经被删除.在运行第二次的循环之前li列表中的元素就变成一下这个样子:
li = [22, 33, 44]
li列表中的元素的索引会发生变化,所有的元素的索引会减少1,通俗的说就是后面的元素依次前进一位.而程序运行到第二次循环,这时要删除的是li的第[1]项.也就是现在33这个元素.
以此类推
得到的结果就变成
[22, 44]
结果因为索引的变化是删不干净的..那么如何能正确的通过循环把列表中的元素全部删除呢,我们来看下个例子:
li = [11, 22, 33, 44]
del_li = []
for el in li:
del_li.append(el)
for el in del_li:
li.remove(el)
print(li)
因为索引的改变,列表的元素是不能通过循环删除的,
所以,新建一个空的列表,把li列表中的要删除的元素通过循环依次存入这个新列表del_li中
我们再通过循环这个新列表找到要删除的元素,之后去原有列表li中把对应项删除.
这样得到的结果:
[]
3. dict中的fromkey(),可以帮我们通过list来创建一个dict
我们运行下面这段代码:
dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])
print(dic)
结果: {'jay': ['周杰伦', '麻花藤'], 'JJ': ['周杰伦', '麻花藤']}
通过结果我们可以看出最后dic生成的是一个字典
二. set集合
set集合是python的一个基本数据类型. 一般不是很常用. set中的元素是不重复的.无序的.里面的元素必须是可hash的(int, str, tuple,bool), 我们可以这样来记. set就是dict类型的数据但是不保存value, 只保存key. set也用{}表示
注意:
set集合中的元素是不可变的,但是set本身是可变的.
Set集合中的元素排序是不重复的.无序的.因此,可以用set集合去除重复元素.
set集合增删改查
1. 增加
2. 删除
3. 修改
4. 查询
5. 常⽤用操作
set集合本身是可以发生改变的. 是不可hash的. 我们可以使用frozenset来保存数据. frozenset是不可变的. 也就是一个可哈希的数据类型.
我们可以理解为冻结的集合.