Data Blocks in Scratch

The variable blocks are color-coded orange, and the list blocks are color-coded dark red.

There are currently 15 Data blocks: 10 Stack blocks, 4 Reporter blocks, and 1 Boolean block. There are 5 Variables blocks and 10 List blocks.

Variable Block

Variable Blocks are used to hold values and strings in variables, as well as display them using monitors.

There are currently 5 Variables blocks: 4 Stack blocks and 1 Reporter block.

 

NameBlockFunction
Set VariableThe block will set the specified variable to the given value: a string or number.
Change VariableThe block will change the specified variable by a given amount.
Show VariableThe block shows the specified variable's Stage monitor.
Hide VariableThe block hides the specified variable's Stage monitor.
VariableThe block simply holds its variable

List Block

They are color-coded red and are used to manipulate lists.

A list (also called an array in other programming languages) is a tool that can be used to store multiple pieces of information at once. It can also be defined as a variable containing multiple other variables. A list consists of a numbers paired with items. Each item can be retrieved by its paired number.
Items
Items can be added to or deleted from a list manually or by programming. Holding down shift and pressing enter on a list results in a new entry above the previously selected entry. They can also be added by right clicking the list, clicking ‘import’, and selecting a plain .txt or Comma Separated Values file. Each line in the file will become a new item in the list. They can also be exported in the same way.
Limits on list size
There is no limit to the length of an item or the amount of items a list can hold, apart from an amount sufficient to crash Scratch.

There are currently 10 List Blocks: 6 Stack blocks, 3 Reporter blocks and 1 Boolean block in this category.

 

NameBlockFunction
Add to List

The block adds an item onto the end of the specified list, the item containing the given text.
Delete from ListThe block can delete the item inputted, the last item, or all items of the specified list depending on the option selected.
Insert into ListThe block inserts an item containing the given text into the list, at the given position. All values below the inserted item are passed onto the item beneath them; the last item's value is placed in a new item at the end of the list.
ReplaceThe block replaces the specified item; in other words, it changes the item's content to the given text.
Show ListThe block shows the specified list's Stage monitor.
Hide List

The block hides the specified list's Stage monitor.
ListThe block simply reports the items of its list as a string. Whenever a list is created, a version of the block appears with the list's name on it; this results in a version of this block for every list.
ItemThe block reports the value of the specified entry in a specified list.
LengthThe block reports how many items a list contains.
List Contains?The block checks if any items in the specified list are equal to the given text—if at least one of them is, the block returns true; if none of them are, it returns false. The item must contain the exact text; for example, "abc" would not work if the item contained "abcde". This block is case-sensitive.

The above information is referenced from Scratch Wiki.