Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如果列表中的元素不是';还没有被控制住_Macos_List_Applescript - Fatal编程技术网

Macos 如果列表中的元素不是';还没有被控制住

Macos 如果列表中的元素不是';还没有被控制住,macos,list,applescript,Macos,List,Applescript,我有两个列表,我需要将第一个列表中包含的元素添加到第二个列表中。 如果第二个列表包含第一个列表的某些元素,则不应将这些元素添加到第二个列表中(以避免重复) 目前我正在使用: set ListB to ListB & ListA 但很明显,这些并没有考虑到重复项。试试: set listA to {"A1", "A2", "A3"} set listB to {"B1", "B2", "A3"} repeat with anItem in listB if anItem is

我有两个列表,我需要将第一个列表中包含的元素添加到第二个列表中。 如果第二个列表包含第一个列表的某些元素,则不应将这些元素添加到第二个列表中(以避免重复)

目前我正在使用:

set ListB to ListB & ListA
但很明显,这些并没有考虑到重复项。

试试:

set listA to {"A1", "A2", "A3"}
set listB to {"B1", "B2", "A3"}

repeat with anItem in listB
    if anItem is not in listA then
        set end of listA to contents of anItem
    end if
end repeat

return listA
尝试:


当列表只包含字符串而不包含换行符(如adayzdone示例代码中所示)时,当两个列表都包含数千项时,可以使用更快的方法

--NOTE: Only works with lists containing strings and not containing linefeeds. 
set listA to {"A1", "A2", "A3"}
set listB to {"B1", "B2", "A3"}

set AppleScript's text item delimiters to linefeed
set newList to every paragraph of (do shell script "sort -fu <<< " & quoted form of ((listA as string) & linefeed & listB as string))
set AppleScript's text item delimiters to ""

return newList
--注意:仅适用于包含字符串而不包含换行符的列表。
将listA设置为{“A1”、“A2”、“A3”}
将listB设置为{“B1”、“B2”、“A3”}
将AppleScript的文本项分隔符设置为换行符

将newList设置为(do shell script“sort-fu的每个段落,当列表仅包含字符串而不包含换行符时,如adayzdone示例代码所示,当两个列表都包含数千项时,可以使用更快的方法

--NOTE: Only works with lists containing strings and not containing linefeeds. 
set listA to {"A1", "A2", "A3"}
set listB to {"B1", "B2", "A3"}

set AppleScript's text item delimiters to linefeed
set newList to every paragraph of (do shell script "sort -fu <<< " & quoted form of ((listA as string) & linefeed & listB as string))
set AppleScript's text item delimiters to ""

return newList
--注意:仅适用于包含字符串而不包含换行符的列表。
将listA设置为{“A1”、“A2”、“A3”}
将listB设置为{“B1”、“B2”、“A3”}
将AppleScript的文本项分隔符设置为换行符

将newList设置为(do shell脚本“sort-fu我以前没见过!+1我以前没见过!+1