gpt4 book ai didi

Python3 字符串列表的集合、交集和并集

转载 作者:行者123 更新时间:2023-12-01 03:05:53 28 4
gpt4 key购买 nike

问题:为什么以下基本数学公式不适用于 python3 的交集和并集计算?

len(q1) + len(q2) - 交集 = 并集

输入

q1 = ['How', 'does', 'the', 'Surface', 'Pro', 'himself', '4', 'compare', 'with', 'iPad', 'Pro', '?']
q2 = ['Why', 'did', 'Microsoft', 'choose', 'core', 'm3', 'and', 'not', 'core', 'i3', 'home', 'Surface', 'Pro', '4', '?']

intersect = set(q1).intersection(q2)
union_length = list(set(q1).union(q2))

print('q1_len',len(q1))
print('q2_len',len(q2))
print('union',len(union_length))
print('intersect',len(intersect))

输出

q1_len 12
q2_len 15
union 21
intersect 4

12 + 15 - 4 应该是 23 而不是 21。

最佳答案

该规则适用于集合而不是列表,因此如果您打印:

print('q1_len',len(set(q1)))
print('q2_len',len(set(q2)))
print('union',len(union_length))
print('intersect',len(intersect))

输出:

('q1_len', 11)
('q2_len', 14)
('union', 21)
('intersect', 4)

公式 (11 + 14 - 4 = 21) 成立。

关于Python3 字符串列表的集合、交集和并集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43432802/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com