加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 两个字符串/集的交集

发布时间:2020-12-15 09:34:18 所属栏目:大数据 来源:网络整理
导读:来自 python我在delphi5中寻找与此python代码( sets)相当的东西: x = set("Hello") xset(['H','e','l','o']) y = set("Hallo") yset(['a','H','o']) x.intersection(y)set(['H','o']) 解决方法 var a,b,c: set of byte;begin a := [1,2,3,4]; b := [3,4,5,6
来自 python我在delphi5中寻找与此python代码( sets)相当的东西:

>>> x = set("Hello")
>>> x
set(['H','e','l','o'])

>>> y = set("Hallo")
>>> y
set(['a','H','o'])

>>> x.intersection(y)
set(['H','o'])

解决方法

var
  a,b,c: set of byte;
begin
  a := [1,2,3,4];
  b := [3,4,5,6];
  c := a*b;          // c is the intersection of a and b,i.e.,c = [3,4]

但要注意:

var
  a,c: set of integer;

甚至不会编译;相反,你得到’集合最多可能有256个元素’错误.有关Delphi集的更多信息,请参阅documentation.

更新

对不起,忘了提到’明显'(从Delphi程序员的角度来看):

var
  a,c: set of char;
begin
  a := ['A','B','C','D'];
  b := ['C','D','E','F'];
  c := a*b;          // c is the intersection of a and b,c = ['C','D']

但是你的字符都是字节字符 – 也就是说,忘记了Unicode(Delphi 5不支持Unicode,所以在这种情况下这不是真正的限制)!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读