python之动态生成列表和重复数据处理
  7yVtI00qurCV 2023年12月22日 76 0
动态生成列表:
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'}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月22日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   73   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   58   0   0 Python
  Ugrw6b9GgRUv   2024年05月17日   37   0   0 Python
7yVtI00qurCV