python之列表动态生成和重复数据处理
2023-12-27 08:25:07
动态生成列表:
range(起始,终点,步长)方法:
print(list(range(1,6)))
结果:
[1, 2, 3, 4, 5]
print(list(range(1,22,2)))
结果:
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]
列表解析法生成列表:
语法包含三部分:表达式用于计算列表中元素的值、循环语句用于获得循环元素、条件判断语句
形式1: 列表名 = [表达式 for 迭代变量 in 可迭代对象]
形式2: 列表名 = [表达式 for 迭代变量 in 可迭代对象 if条件语句]
newList = [v**2 for v in range(1,12)]
print(newList)
结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121]
newList = [v**2 for v in range(1,12) if v%2 == 0]
print(newList)
结果:
[4, 16, 36, 64, 100]
列表重复数据处理:
l1 = ['a','b','ab','d']
l2 = ['b','ab','c','e']
#l1和l2交集
l3 = [x for x in l1 if x in l2]
print(l3)
#l1和l2的不重复项
l4 = [x for x in (l1+l2) if x not in l3]
print(l4)
结果:
['b', 'ab']
['a', 'd', 'c', 'e']
使用集合的交并补差运算:
l1 = ['a','b','ab','d']
l2 = ['b','ab','c','e']
#集合的交
print(set(l1)&set(l2))
#集合的并
print(set(l1)|set(l2))
#集合的补
print(set(l1)-set(l2))
#集合的补
print(set(l2)-set(l1))
#集合的差
print(set(l1)^set(l2))
结果:
{'b', 'ab'}
{'c', 'b', 'a', 'e', 'd', 'ab'}
{'a', 'd'}
{'e', 'c'}
{'c', 'a', 'e', 'd'}
文章来源:https://blog.csdn.net/buw369521/article/details/135157284
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!