def group_by_element(lst):
'''
list分组
'''
index = []
result = []
if len(lst)==1:
result.append(lst)
else:
for i, _ in enumerate(lst):
if i < len(lst) - 1 and lst[i + 1] != lst[i]:
index.append(i + 1)
result.append(lst[:index[0]])
for i, item in enumerate(index):
if i < len(index) - 1:
result.append(lst[index[i]:index[i + 1]])
result.append(lst[item:])
return result
if __name__ == '__main__':
list1=[1,2,3]
list2=[1]
list3 = set(list1) - set(list2) #求差集
print(list3)
for i in list3:
print(i)
s = 'abcdef'
print(s[1:2]) #字符串截取 包含头 不包含尾部 1:2 1是头下标 2是尾下标
#字符串截取
str = 'Hello World!'
print(str) # 输出完整字符串
print(str[0]) # 输出字符串中的第一个字符
print(str[2:5]) # 输出字符串中第三个至第六个之间的字符串
print(str[2:]) # 输出从第三个字符开始的字符串
print(str * 2) # 输出字符串两次
print(str + "TEST") # 输出连接的字符串
# Python列表
# 列表用[]标识,是python最通用的复合数据类型。
# 列表中值的切割也可以用到变量[头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认0开始,从右到左索引默认 - 1
# 开始,下标可以为空表示取到头或尾。
list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']
print(list) # 输出完整列表
print(list[0]) # 输出列表的第一个元素
print(list[1:3]) # 输出第二个至第三个元素
print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2) # 输出列表两次
print(list + tinylist) # 打印组合的列表
# Python 元组
# 元组是另一个数据类型,类似于 List(列表)。
# 元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print( tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组
#以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的
tuple = ('runoob', 786, 2.23, 'john', 70.2)
list = ['runoob', 786, 2.23, 'john', 70.2]
tuple[2] = 1000 # 元组中是非法应用
list[2] = 1000 # 列表中是合法应用
# Python 字典
# 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
# Python数据类型转换 函数
# int(x[, base]) 将x转换为一个整数
# long(x[, base] ) 将x转换为一个长整数
# float(x) 将x转换到一个浮点数
# complex(real[, imag]) 创建一个复数
# str(x) 将对象x转换为字符串
# repr(x) 将对象x转换为表达式字符串
# eval(str) 用来计算在字符串中的有效Python表达式, 并返回一个对象
# tuple(s) 将序列s转换为一个元组
# list(s) 将序列s转换为一个列表
# set(s) 转换为可变集合
# dict(d) 创建一个字典。d必须是一个序列(key, value)元组。
# frozenset(s) 转换为不可变集合
# chr(x) 将一个整数转换为一个字符
# unichr(x) 将一个整数转换为Unicode字符
# ord(x) 将一个字符转换为它的整数值
# hex(x) 将一个整数转换为一个十六进制字符串
# oct(x) 将一个整数转换为一个八进制字符串