'''
一、集合
1、特性
1.1、无序,不能使用索引取值
1.2、元素不可以重复(元素如果重复会认为是同一个元素)
1.3、可迭代(for循环)
2、相关操作
增:
test_set = {1,3,5,8}
删:
test_set.remove(元素) # 删除指定的元素
test_set.pop() # 随机删除一个元素
test_set.clear() # 清空
改:如果添加的元素已经存在,不作任何操作,如果不存在,默认在末尾添加对应元素
查:(for循环)
利用集合对列表元素去重:(集合掌握这个用法即可)
test_list = [1,1,2,3,3,5,5,'a','a']
new_list = list(set(test_list))
print(new_list)
'''
# 删除操作
test_set = {1, 1, 3, 'a', 'a', 'python', (1, 2)}
print(type(test_set))
test_set.remove('a')
print(test_set)
test_set.pop()
print(test_set)
test_set.clear()
print(test_set)
# 去重
list_test = [1, 1, 4, 4, 'a', 'a']
print(list(set(list_test)))
'''
二、数据类型转换
可以相互转换的数据类型
1、int str
2、tuple set
3、list set
4、list tuple
只能单向转换
1、str tuple
2、str list
'''
test_str = '10' # 只有字符串为数字才可以int类型
test_int = int(test_str)
new_str = str(test_int)
print(type(test_int), type(test_str))
test_tuple = (1, 'a', 'python', (1, 2), '我们') # 转集合的前提元组里面没有嵌套列表,另外如果元组里面有重复的元素,同样转集合时会被去重
test_set = set(test_tuple)
new_tuple = tuple(test_set)
print(type(test_set), type(new_tuple))
test_list = [1, 1, 3, 3, (3, 3, 5, 'a'), 'python']
test_set_1 = set(test_list)
new_list = list(test_set_1)
print(type(test_set_1), type(new_list))
test_list_1 = [1, 1, 3, 3, (3, 3, 5, 'a'), 'python']
test_tuple_1 = tuple(test_list_1)
new_list_1 = list(test_tuple_1)
print(type(test_tuple_1), type(new_list_1))
test_str_1 = 'python'
test_list_2 = tuple(test_str_1)
new_str_1 = str(test_list_2)
print(test_list_2,new_str_1) # 这里转不回原来的str单词了
print(type(test_list_2),type(new_str_1))
test_str_2 = 'world'
test_list_3 = list(test_str_2)
new_str_2 = str(test_list_3)
print(test_list_3,new_str_2) # 这里转不回原来的str单词了
print(type(test_list_3),type(new_str_2))
'''
三、Python控制流
1、概念
1.1、什么是流程:做某一件事情的顺序就叫流程
1.2、python:代码按照一定的顺序执行,就叫流程
2、流程分类
2.1、顺序结构:代码从上到下执行
2.2、选择结构:代码根据条件选择性地执行
3.3、循环结构:重复做一件事情
四、
range函数,创建整数列表
语法:range(start, stop, [step])
start:生成列表的起始值
stop:生成列表的结束值
step:步长
原则:左闭右开
使用:生成列表对应的索引值,对列表元素进行操作
range(1,15,3) 相当于 [1,4,7,10,13]
debug
step over
小窗口取值
'''
# 单if
num = 10
if num > 5:
print('对的')
# 标准if...else...
num_1 = 5
if num_1 > 5:
print('大于5')
else:
print('小于或等于5')
# 多重if...elif...else...
num_2 = 5
if num_2 > 5:
print('大于5')
elif num_2 < 5:
print('小于5')
else:
print('等于5')
# 复合if
num_3 = 5
if num_3 > 0:
if num > 10:
print('大于10')
else:
print('在1到10之间')
else:
print('小于0')
# for循环(适用于循环次数明确的场景)
test_list = [1, 2, 3, 4, 5]
for num in test_list:
if num == 3:
pass
else:
print(num)
test_dict = {'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}
for key in test_dict.keys():
print(key)
for val in test_dict.values():
print(val)
for key, val in test_dict.items():
print(key, val)
# while循环(适用于循环次数不确定的场景)
num = 10
while num < 15:
print('认真学习Python')
num += 1
test_list_1 = ['a', 'b', 'python', 1, (2, 2, 3)]
for index in range(0, len(test_list_1)):
print(index)