一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第5天
集合(set)
定义
集合是用{}进行定义的,内部元素不是键值对(与字典区分开)
特点:
- 没有重复元素
- 是无序的
- 没有下标
set = set() #只有这样才能定义一个空集合
set = {} #这种方法只适合定义一个空的列表
添加元素
- add:往集合里添加元素,没有返回值
set = set()
set.add('三体')
set.add('围城')
PS C:\Users\86181\work space\测试> python 实验.py
{'三体', '围城'}
PS C:\Users\86181\work space\测试> python 实验.py
{'围城', '三体'}
- update:合并两个集合内的元素
set1 = {'lichuang'}
set2 = {'三体','围城'}
set1.update(set2)
PS C:\Users\86181\work space\测试> python 实验.py
{'围城', 'lichuang', '三体'}
PS C:\Users\86181\work space\测试> python 实验.py
{'三体', '围城', 'lichuang'}
PS C:\Users\86181\work space\测试> python 实验.py
{'lichuang', '三体', '围城'}
注意:以上三次运行的结果都不一样(所以集合内的元素是无序的)
公共方法
内置方法
| 方法 | 作用 |
|---|---|
| bin()/oct()/hex()/chr()/ord() | 转二进制/十进制/十六进制/字符(给ascll码值返回的字符)/ascll码 |
| int()/str()/float()/tuple()/dict()/set() | 转换成整数/字符串/浮点数/元组/字典/集合 |
| print() | 输出 |
| input() | 输入 |
| type() | 查看数据类型 |
| id() | 查看地址 |
| len() | 查看长度 |
| del 对象(变量名) | 伤处在指定的变量名 |
| in/not in | 是否在内 |
| is | 比较两个地址是否一致 |
| break/continue | 直接跳出循环/跳出当前循环进入新循环 |
对于数(常用公共方法)
| 方法 | 作用 |
|---|---|
| max() | 取一组数中最大的那个数 |
| min() | 取一组数中最小的那个数 |
| sum() | 取一组数的和 |
| abs() | 取一个数的绝对值 |
| sorted() | 系统的内置排序方法(默认升序,降序和sort类似) |
运算符
| 运算符 | 表达式 | 结果 | 描述 | 支持数据类型 |
|---|---|---|---|---|
| + | [1,2]+[3,4] | [1,2,3,4] | 合并 | 字符串,列表,元组 |
| * | [1]*4 | [1,1,1,1] | 复制 | 字符串,列表,元组 |
| | | S|T | 并集 | 集合 | |
| - | S-T | 差集 | 集合 | |
| & | S&T | 交集 | 集合 | |
| S^T | 补集 | 集合 |

列表推导式
定义
格式:[i for i in range 可迭代的]
[i for i in range 可迭代的 if 条件]
[结果1 if 条件 动作 else 结果2 动作 for i in range 可迭代的]
[for i in range() for j in range()]
# 正常的写法
list = []
for i in range(1,21):
list.append(i)
#列表推导式
list = [i for i in range(1,21)] #第一个i是最终结果
print(list)
# 正常的写法
list = []
for i in range(1,21):
list.append(i)
# 列表推导式
list = [i for i in range(0,101) if i%2 == 0]
print(list)
# 正常写法
list = ['100','200','hello','nihao']
for i in range list :
if i.startswith('h'):
i.title()
else:
i.upper()
print(list)
# 列表推导式
list = ['100','200','hello','nihao']
list1 = [i.title() if i.startswith('h') else i.upper() for i in list]
#正常写法
list = []
for i in range(1,10):
for j in range(1,10):
list.append((i,j))
print(list)
#列表推导式
list = [(i,j)for i in range(1,10) for j in range(1,10)]