Python查找列表共同元素及字符串列表转数字列表方法咨询
解决两个问题:列表转换与共同元素查找
嘿,我来帮你搞定这两个问题!先说说你之前方法的问题:你用set(''.join(a))的时候,是把字符串'1001,1715'拆成了单个字符(比如'1'、'0'、','这些),所以得到的是单个字符的集合,这显然不是你想要的逗号分隔的完整数字元素。接下来一步步解决你的需求:
1. 将['1001,1715']转换为[1001,1715]
你需要先取出列表里的唯一字符串,用逗号分割成子字符串列表,再把每个子字符串转换成整数:
a = ['1001,1715'] # 取出列表中的字符串,按逗号分割 split_strings = a[0].split(',') # 将每个字符串转为整数,生成新列表 converted_list = [int(num) for num in split_strings] print(converted_list) # 输出: [1001, 1715]
2. 找出两个列表中的共同元素
首先按照上面的方法,把两个列表里的字符串都转换成整数集合,然后利用集合的交集操作就能快速找到共同元素:
a = ['1001,1715'] b = ['1009,1715'] # 处理列表a,转成整数集合 set_a = set(int(num) for num in a[0].split(',')) # 处理列表b,转成整数集合 set_b = set(int(num) for num in b[0].split(',')) # 求两个集合的交集,得到共同元素 common_elements = set_a.intersection(set_b) # 如果确定只有一个共同元素,可以直接取出 print(list(common_elements)[0]) # 输出: 1715
如果有多个共同元素,common_elements会包含所有符合条件的数字,你可以根据需要遍历或者转换为列表使用。
内容的提问来源于stack exchange,提问作者Kumar Pushkar
相关产品推荐
相关产品推荐

