python笔记

您所在的位置:网站首页 列表元组字典有什么不同 python笔记

python笔记

2023-08-05 07:36| 来源: 网络整理| 查看: 265

先总结为敬: 字符串, 列表, 元组可以使用乘法运算符实现增倍的效果, 但是集合, 字典不能这样使用, 否则会报错!!

 

1. 使用乘法运算符可以使字符串增倍:

strings = '你好!' * 10 print(strings)

运行结果:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py 你好!你好!你好!你好!你好!你好!你好!你好!你好!你好!

这个strings的值就相当于10个'你好!'拼接在一起之后的值

 

2. 列表与元组也能达到相同, 效果吗?, 答案是肯定的!

li = [0] * 10 print(li) print('==' * 20) tuples = (0, ) * 10 print(tuples)

运行结果如下:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ======================================== (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

就相当于有10个[0]或(0,)相合并在一起变成了[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]或(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

 

3. 那么集合可以吗?, 我们都知道集合内部的元素具有唯一性, 无序性等特点, 那么它会不会相当于10个{0} 相合并的结果呢?

    首先你必须得明确, 集合是不可以通过加号合并的, 要合并可以使用并集|, 也可以使用update, 我等会再一一列举, 先看相加会有什么样的结果:

sets = {0} + {0} print(sets)

报错结果:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py Traceback (most recent call last): File "f:/7.vscode/试验2.py", line 1, in sets = {0} + {0} TypeError: unsupported operand type(s) for +: 'set' and 'set'

它会报错说, 集合与集合类型之间不支持相加操作, 这样的结果就变得与上面所提到的字符串,元组, 列表的合并有点不太一样, 那么它还可以使用乘法运算符来合并吗?, 答案是不能!

sets = {0} * 10 print(sets)

运行结果如下图:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py Traceback (most recent call last): File "f:/7.vscode/试验2.py", line 1, in sets = {0} * 10 TypeError: unsupported operand type(s) for *: 'set' and 'int'

它直接报错说乘法运算符不支持在集合与整数类型之间进行操作, 所以集合是不能通过乘法运算符来增倍!!!!

解决一下上面提到的合并集合操作:

set1 = {1, 2, 3} set2 = {4, 5, 6} set3 = set1 | set2 print(set3)

运行结果:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py {1, 2, 3, 4, 5, 6}

注意, 这里的set1与set2的元素并没改变, 最多也就位置变了

另一种更新方式, update来合并集合:

set1 = {1, 2, 3} set2 = {4, 5, 6} set1.update(set2) print(set1)

运行结果如下:

PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py {1, 2, 3, 4, 5, 6}

注意, 这里的set1已经发生了变化!

 

4. 字典也可以使用乘法运算符, 答案是不能, 类似集合

 

总结:字符串, 列表, 元组可以使用乘法运算符实现增倍的效果, 但是集合, 字典不能这样使用, 否则会报错!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3