Component: List 
----------------

Text functions for working with lists.

For big lists, our QuickList functions are much faster.   
Because the list is only parsed once and stored indexed in memory.

| Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|
| [4.2](newinversion42.md "First functions introduced with version 4.2.") / [16.3](newinversion163.md "Newest functions in version 16.3.") | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

  
| Item | Details |
|:--|:--|
| [List.AddPostfix](ListAddPostfix.md)   Adds a postfix text to each entry in the list. | All   6.1 |
| [List.AddPrefix](ListAddPrefix.md)   Adds a prefix text to each entry in the list. | All   6.1 |
| [List.AddValue](ListAddValue.md)   Adds a value to the list. | All   7.1 |
| [List.And](ListAnd.md)   Returns a list with values which are contained in both lists. | All   4.4 |
| [List.AndColumn](ListAndColumn.md)   Returns a list with values which are contained in both lists. | All   10.0 |
| [List.BestMatch](ListBestMatch.md)   Looks for best match of a text in a list of texts. | All   5.0 |
| [List.CSVSplit](ListCSVSplit.md)   Splits CSV text. | All   7.4 |
| [List.ColumnMatchesPostfix](ListColumnMatchesPostfix.md)  **New in 16.3**    Finds list entries which have a given postfix text. | All   16.3 |
| [List.ColumnMatchesPrefix](ListColumnMatchesPrefix.md)  **New in 16.3**    Finds list entries which have a given prefix text. | All   16.3 |
| [List.ColumnMatchesSubString](ListColumnMatchesSubString.md)  **New in 16.3**    Finds list entries which contains a given text. | All   16.3 |
| [List.CountValues](ListCountValues.md)   Counts values in list. | All   8.1 |
| [List.CountValuesMatching](ListCountValuesMatching.md)   Count matching entries in list. | All   10.2 |
| [List.CrossProduct](ListCrossProduct.md)   Creates the cross product from two lists. | All   6.1 |
| [List.DeCombine](ListDeCombine.md)   Picks elements from each line in a list. | All   6.3 |
| [List.DeleteColumn](ListDeleteColumn.md)   Deletes a column from each line in a list. | All   15.5 |
| [List.Deserialize](ListDeserialize.md)   Restores a serialized list. | All   5.2 |
| [List.Find](ListFind.md)   Finds an entry in the list. | All   11.1 |
| [List.FindDuplicateItems](ListFindDuplicateItems.md)   Finds duplicate items in the list. | All   10.5 |
| [List.FindEquals](ListFindEquals.md)   Finds equal items in both lists. | All   4.2 |
| [List.FindUnequals](ListFindUnequals.md)   Finds unequal items in both lists. | All   4.2 |
| [List.GetColumn](ListGetColumn.md)   Queries a column from each line in a list. | All   11.3 |
| [List.GetValue](ListGetValue.md)   Queries a value in the list. | All   7.1 |
| [List.HasDuplicateItems](ListHasDuplicateItems.md)   Checks if list has duplicates. | All   7.5 |
| [List.HasValue](ListHasValue.md)   Checks whether a list contains a given value. | All   6.4 |
| [List.IndexOfFirstValueMatching](ListIndexOfFirstValueMatching.md)   Finds index of first value matching value. | All   10.2 |
| [List.InsertValue](ListInsertValue.md)   Inserts a value to a list. | All   7.1 |
| [List.Intersection](ListIntersection.md)   Returns a list with values which are contained in all lists. | All   14.5 |
| [List.MapEntries](ListMapEntries.md)   Maps selection of keys from a key list to value list. | All   11.3 |
| [List.MatchesPostfix](ListMatchesPostfix.md)   Finds list entries which have a given postfix text. | All   5.4 |
| [List.MatchesPrefix](ListMatchesPrefix.md)   Finds list entries which have a given prefix text. | All   5.4 |
| [List.MatchesSubString](ListMatchesSubString.md)   Finds list entries which contains a given text. | All   12.4 |
| [List.Not](ListNot.md)   Returns values of first list which are not in second list. | All   4.4 |
| [List.NotColumn](ListNotColumn.md)   Returns values of first list which are not in second list. | All   10.0 |
| [List.Or](ListOr.md)   Returns values of both lists. | All   4.4 |
| [List.OrColumn](ListOrColumn.md)   Returns values of both lists. | All   10.0 |
| [List.RegExMatch](ListRegExMatch.md)   Matches a list against a pattern. | All   4.4 |
| [List.Remove](ListRemove.md)   Removes the value with the given index in the list. | All   7.1 |
| [List.RemoveDuplicateItems](ListRemoveDuplicateItems.md)   Removes duplicate items in the list. | All   4.2 |
| [List.RemoveEmptyItems](ListRemoveEmptyItems.md)   Removes empty items in the list. | All   4.2 |
| [List.RemovePostfix](ListRemovePostfix.md)   Removes a postfix text to each entry in the list. | All   6.1 |
| [List.RemovePrefix](ListRemovePrefix.md)   Removes a prefix text to each entry in the list. | All   6.1 |
| [List.RemoveValue](ListRemoveValue.md)   Removes a value from a list. | All   7.1 |
| [List.RemoveValues](ListRemoveValues.md)   We remove all values from the list. | All   15.1 |
| [List.Reverse](ListReverse.md)   Reverses the order of items in the list. | All   4.4 |
| [List.Serialize](ListSerialize.md)   Serialized a list as a text. | All   5.2 |
| [List.SetValue](ListSetValue.md)   Sets a value in the list. | All   7.1 |
| [List.Shuffle](ListShuffle.md)   Shuffles the items in the list. | All   14.0 |
| [List.Sort](ListSort.md)   Sorts the list. | All   4.2 |
| [List.SortWithEvaluate](ListSortWithEvaluate.md)   Sorts a list with using an expression to evaluate. | All   10.2 |
| [List.SubList](ListSubList.md)   Returns a part of the list. | All   7.5 |
| [List.Trim](ListTrim.md)   Trims all texts in the list. | All   7.5 |
| [List.ValueIndex](ListValueIndex.md)   Finds the index for a given value. | All   5.4 |
| [List.XOr](ListXOr.md)   Returns list with values found in either first or second list, but not in both. | All   4.4 |
| [List.XOrColumn](ListXOrColumn.md)   Returns list with values found in either first or second list, but not in both. | All   10.0 |
| [QuickList.AddList](QuickListAddList.md)   Adds a list of values to a quick list. | All   5.0 |
| [QuickList.AddMultiValue](QuickListAddMultiValue.md)   Adds a value or list to the list. | All   7.2 |
| [QuickList.AddPostfix](QuickListAddPostfix.md)   Adds a postfix text to each entry in the list. | All   6.1 |
| [QuickList.AddPrefix](QuickListAddPrefix.md)   Adds a prefix text to each entry in the list. | All   6.1 |
| [QuickList.AddQuickList](QuickListAddQuickList.md)   Adds the content of second list to first list. | All   5.0 |
| [QuickList.AddSQL](QuickListAddSQL.md)   Adds values to a quick list via SQL. | All   5.1 |
| [QuickList.AddValue](QuickListAddValue.md)   Adds a value to the list. | All   4.4 |
| [QuickList.And](QuickListAnd.md)   Returns a list with values which are contained in both lists. | All   4.4 |
| [QuickList.AndColumn](QuickListAndColumn.md)   Returns a list with values which are contained in both lists. | All   10.0 |
| [QuickList.BestMatch](QuickListBestMatch.md)   Looks for best match of a text in a list of texts. | All   5.0 |
| [QuickList.CSVSplit](QuickListCSVSplit.md)   Splits CSV text. | All   7.4 |
| [QuickList.Clear](QuickListClear.md)   Clears the content of the list. | All   4.4 |
| [QuickList.Clone](QuickListClone.md)   Creates a clone of the list. | All   6.1 |
| [QuickList.Count](QuickListCount.md)   Queries the count of items in list. | All   4.4 |
| [QuickList.CountValuesMatching](QuickListCountValuesMatching.md)   Count matching entries in list. | All   10.2 |
| [QuickList.CrossProduct](QuickListCrossProduct.md)   Creates the cross product from two lists. | All   6.1 |
| [QuickList.DeCombine](QuickListDeCombine.md)   Picks elements from each line in a list. | All   7.5 |
| [QuickList.DeleteColumn](QuickListDeleteColumn.md)   Queries a column from each line in a list. | All   15.5 |
| [QuickList.Deserialize](QuickListDeserialize.md)   Restores a serialized list. | All   5.2 |
| [QuickList.Find](QuickListFind.md)   Finds an entry in the list. | All   11.1 |
| [QuickList.FindDuplicateItems](QuickListFindDuplicateItems.md)   Finds duplicate items in the list. | All   10.5 |
| [QuickList.FindEquals](QuickListFindEquals.md)   Finds equal items in both lists. | All   4.4 |
| [QuickList.FindUnequals](QuickListFindUnequals.md)   Finds unequal items in both lists. | All   4.4 |
| [QuickList.GetColumn](QuickListGetColumn.md)   Queries a column from each line in a list. | All   11.3 |
| [QuickList.GetList](QuickListGetList.md)   Queries the list as text. | All   4.4 |
| [QuickList.GetValue](QuickListGetValue.md)   Queries a value in the list. | All   4.4 |
| [QuickList.HasDuplicateItems](QuickListHasDuplicateItems.md)   Checks if list has duplicates. | All   7.5 |
| [QuickList.HasValue](QuickListHasValue.md)   Checks whether a list contains a given value. | All   5.0 |
| [QuickList.HasValues](QuickListHasValues.md)   Checks whether a list contains the given values. | All   14.2 |
| [QuickList.IndexOfFirstValueMatching](QuickListIndexOfFirstValueMatching.md)   Finds index of first value matching value. | All   10.2 |
| [QuickList.InsertValue](QuickListInsertValue.md)   Inserts a value to a list. | All   5.2 |
| [QuickList.JSONArray](QuickListJSONArray.md)   Returns all texts in the QuickList as a JSON array. | All   14.3 |
| [QuickList.JoinJSON](QuickListJoinJSON.md)   Joins text in a QuickList as JSON array. | All   13.3 |
| [QuickList.List](QuickListList.md)   Returns list of all quick list IDs. | All   5.3 |
| [QuickList.MatchesPostfix](QuickListMatchesPostfix.md)   Finds list entries which have a given postfix text. | All   5.4 |
| [QuickList.MatchesPrefix](QuickListMatchesPrefix.md)   Finds list entries which have a given prefix text. | All   5.4 |
| [QuickList.MatchesSubString](QuickListMatchesSubString.md)   Finds list entries which contains a given text. | All   6.0 |
| [QuickList.New](QuickListNew.md)   Creates a new list. | All   4.4 |
| [QuickList.Not](QuickListNot.md)   Returns values of first list which are not in second list. | All   4.4 |
| [QuickList.NotColumn](QuickListNotColumn.md)   Returns values of first list which are not in second list. | All   10.0 |
| [QuickList.Or](QuickListOr.md)   Returns values of both lists. | All   4.4 |
| [QuickList.OrColumn](QuickListOrColumn.md)   Returns values of both lists. | All   10.0 |
| [QuickList.Pop](QuickListPop.md)   Pops last value from the list. | All   5.2 |
| [QuickList.PopFirst](QuickListPopFirst.md)   Pops the first value from a list. | All   5.2 |
| [QuickList.Push](QuickListPush.md)   Pushes a value to the end of the list. | All   5.2 |
| [QuickList.RegExMatch](QuickListRegExMatch.md)   Matches a list against a pattern. | All   4.4 |
| [QuickList.Release](QuickListRelease.md)   Releases the list. | All   4.4 |
| [QuickList.Remove](QuickListRemove.md)   Removes the value with the given index. | All   5.0 |
| [QuickList.RemoveDuplicateItems](QuickListRemoveDuplicateItems.md)   Removes duplicate items in the list. | All   4.4 |
| [QuickList.RemoveEmptyItems](QuickListRemoveEmptyItems.md)   Removes empty items in the list. | All   4.4 |
| [QuickList.RemovePostfix](QuickListRemovePostfix.md)   Removes a postfix text to each entry in the list. | All   6.1 |
| [QuickList.RemovePrefix](QuickListRemovePrefix.md)   Removes a prefix text to each entry in the list. | All   6.1 |
| [QuickList.RemoveValue](QuickListRemoveValue.md)   Removes a value from a quick list. | All   5.0 |
| [QuickList.RemoveValues](QuickListRemoveValues.md)   We remove all values from the list. | All   15.1 |
| [QuickList.Reserve](QuickListReserve.md)   Reserves memory for a list of given size. | All   4.4 |
| [QuickList.Reverse](QuickListReverse.md)   Reverses the order of items in the list. | All   4.4 |
| [QuickList.Serialize](QuickListSerialize.md)   Serialized a list as a text. | All   5.2 |
| [QuickList.SetList](QuickListSetList.md)   Sets the list to the content of the passed list. | All   4.4 |
| [QuickList.SetValue](QuickListSetValue.md)   Sets a value in the list. | All   4.4 |
| [QuickList.Shuffle](QuickListShuffle.md)   Shuffles the items in the list. | All   14.0 |
| [QuickList.Sort](QuickListSort.md)   Sorts the list. | All   4.4 |
| [QuickList.SortWith](QuickListSortWith.md)   Sorts the list with together with other lists. | All   6.2 |
| [QuickList.SortWithEvaluate](QuickListSortWithEvaluate.md)   Sorts a list with using an expression to evaluate. | All   10.2 |
| [QuickList.SubList](QuickListSubList.md)   Returns a part of the list. | All   7.5 |
| [QuickList.Trim](QuickListTrim.md)   Trims all texts in the list. | All   7.5 |
| [QuickList.ValueIndex](QuickListValueIndex.md)   Finds the index for a given value. | All   5.4 |
| [QuickList.XOr](QuickListXOr.md)   Returns list with values found in either first or second list, but not in both. | All   4.4 |
| [QuickList.XOrColumn](QuickListXOrColumn.md)   Returns list with values found in either first or second list, but not in both. | All   10.0 |

122 functions shown.

These functions require a license (95%).

### Release notes

- **Version 15.5**
    - Added [List.DeleteColumn](https://www.mbsplugins.eu/ListDeleteColumn.shtml) and [QuickList.DeleteColumn](https://www.mbsplugins.eu/QuickListDeleteColumn.shtml) functions.
- **Version 15.1**
    - Added [List.RemoveValues](https://www.mbsplugins.eu/ListRemoveValues.shtml) and [QuickList.RemoveValues](https://www.mbsplugins.eu/QuickListRemoveValues.shtml) functions.
    - Improved [List.RegExMatch](https://www.mbsplugins.eu/ListRegExMatch.shtml) and [QuickList.RegExMatch](https://www.mbsplugins.eu/QuickListRegExMatch.shtml) to take options in text form in addition to integers.
- **Version 14.5**
    - Added [List.Intersection](https://www.mbsplugins.eu/ListIntersection.shtml) function.
- **Version 14.0**
    - Added CaseSensitive flag for [List.FindDuplicateItems](https://www.mbsplugins.eu/ListFindDuplicateItems.shtml), [List.HasDuplicateItems](https://www.mbsplugins.eu/ListHasDuplicateItems.shtml), [List.RemoveDuplicateItems](https://www.mbsplugins.eu/ListRemoveDuplicateItems.shtml), [QuickList.FindDuplicateItems](https://www.mbsplugins.eu/QuickListFindDuplicateItems.shtml), [QuickList.HasDuplicateItems](https://www.mbsplugins.eu/QuickListHasDuplicateItems.shtml), [QuickList.RemoveDuplicateItems](https://www.mbsplugins.eu/QuickListRemoveDuplicateItems.shtml).
    - Added flags for [List.BestMatch](https://www.mbsplugins.eu/ListBestMatch.shtml) and [QuickList.BestMatch](https://www.mbsplugins.eu/QuickListBestMatch.shtml) to use Jaro-Winkler distance optionally and optionally return list of top 5.
    - Added [List.Shuffle](https://www.mbsplugins.eu/ListShuffle.shtml) and [QuickList.Shuffle](https://www.mbsplugins.eu/QuickListShuffle.shtml) functions.
- **Version 12.4**
    - Added [List.MatchesSubString](https://www.mbsplugins.eu/ListMatchesSubString.shtml) function.
    - Fixed a problem with [List.CSVSplit](https://www.mbsplugins.eu/ListCSVSplit.shtml), [Matrix.CSVSplit](https://www.mbsplugins.eu/MatrixCSVSplit.shtml) and [QuickList.CSVSplit](https://www.mbsplugins.eu/QuickListCSVSplit.shtml) not parsing properly quoted multi line value.
- **Version 12.3**
    - Fixed [List.DeCombine](https://www.mbsplugins.eu/ListDeCombine.shtml) and [QuickList.DeCombine](https://www.mbsplugins.eu/QuickListDeCombine.shtml) to handle the ReturnNewline parameter correctly.
- **Version 12.2**
    - Optimized [List.CSVSplit](https://www.mbsplugins.eu/ListCSVSplit.shtml), [QuickList.CSVSplit](https://www.mbsplugins.eu/QuickListCSVSplit.shtml) and [Matrix.CSVSplit](https://www.mbsplugins.eu/MatrixCSVSplit.shtml) to better handle lonely quotes in quoted strings.
- **Version 11.3**
    - Added [List.GetColumn](https://www.mbsplugins.eu/ListGetColumn.shtml) and [QuickList.GetColumn](https://www.mbsplugins.eu/QuickListGetColumn.shtml) functions to extract a column from a list.
    - Added [List.MapEntries](https://www.mbsplugins.eu/ListMapEntries.shtml) function.
- **Version 11.1**
    - Added [List.Find](https://www.mbsplugins.eu/ListFind.shtml) and [QuickList.Find](https://www.mbsplugins.eu/QuickListFind.shtml) functions.

### Blog Entries

- [Retract text from a PDF with DynaPDF](https://www.mbsplugins.de/archive/2025-11-01/Retract_text_from_a_PDF_with_D/monkeybreadsoftware_blog_filemaker)

### FileMaker Magazin

- [Ausgabe 3/2022, Seite 26](https://filemaker-magazin.de/neuigkeit/4187-Appetithappen-FMM_202203)
- [Ausgabe 6/2020, Seite 24](https://filemaker-magazin.de/neuigkeit/4118-Appetithappen-FMM_202006)
- [Ausgabe 2/2020, Seite 35](https://filemaker-magazin.de/neuigkeit/4089-Appetithappen-FMM_202002)
- [Ausgabe 1/2015, Seite 19 bis 20](https://filemaker-magazin.de/neuigkeit/3785-Appetithappen-FMM_201501)

### Example Databases

- [List/List Sorting](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/List/List%20Sorting.shtml#1GroupButton48.0000000876.000000073.00000001027.0000000LayoutObjectAnchor_)
- [List/Sort Benchmark](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/List/Sort%20Benchmark.shtml#4ScriptAnchor_)
- [Mac and iOS/Contacts/ContactsChanged](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Mac%20and%20iOS/Contacts/ContactsChanged.shtml#2ScriptAnchor_)
- [Mac and iOS/Events/Events Changes](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Mac%20and%20iOS/Events/Events%20Changes.shtml#3ScriptAnchor_)
- [Python](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Python.shtml#1ScriptAnchor_)
- [Text functions/Lists](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Text%20functions/Lists.shtml#1ScriptAnchor_)
- [Text functions/Word Count functions](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Text%20functions/Word%20Count%20functions.shtml#1294FieldAnchor_)
- [WebHook/WebHook Chat/WebHook Chat](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/WebHook/WebHook%20Chat/WebHook%20Chat.shtml#1ScriptAnchor_)
- [Win Only/Snippets for Windows](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Win%20Only/Snippets%20for%20Windows.shtml#11ScriptAnchor_)

[HTML Version](component_QuickList.shtml)