You can use ls pattern(<qualifiers>) for listing files matching the specified qualifiers:
% ls *(@) # match only symbolic links
% ls *(x) # match all executables executable by the owner, equivalent to ls *(*)
% ls *(x) # note: capital X, matches files executable by others
% ls *(R) # match all readable files by us
% ls *(W) # match all writable files by us
% ls *(W^@) # filter symbolic links
% ls *(U) # matches all files owned by us
% ls *(.) # match plan files
And more!
Source: An Introduction to the Z Shell