Thomas was born in Decatur, Illinois to Martha and Greg Thomas. He grew up in Onalaska, Wisconsin, attending Onalaska High School. His mother had been a standout high school athlete herself. She was a swimmer, softball player, tennis player, and basketball star. She holds the school record for single game scoring at Wahlert High School in Dubuque, Iowa, with 48 points. Thomas suffered tragedy at a young age. When he was 11 years old, his father Greg, who suffered from alcoholism, committed suicide. Because of this Thomas developed a very strong relationship with his mother. Despite early struggles in his personal life, Thomas was an outstanding high school basketball player. He was named first-team all-state by the Associated Press as a junior in 2012. He averaged 21.3 points, 5.3 rebounds, 2.5 steals and 2.1 steals in 2012 to lead his team to the Division 2 state championship. Onalaska ended the year with a 27–1 record. Thomas scored 30 points in the state championship game, a 55–38 victory over Kaukauna. His senior year Thomas averaged 28.3 points and 9.7 rebounds, leading his team to the state semifinals and a 24–3 mark, shooting 50.4% percent from the field and 35.8% from beyond the arc. Thomas scored more than 40 points three times, including 41 points in the sectional final and a career-high 50 points in just 2 1/2 quarters vs. Tomah. He participated in the 2013 American Family Insurance High School 3-Point Championship, finishing third. Thomas ended his four-year career as a two-time first-team all-state pick with a 95–12 overall mark and over 2,000 points.
Recruitment
An outstanding scorer, Thomas was considered one of the best shooters in the class of 2013 and one of the best players from Wisconsin. A consensus top-100 national recruit, Thomas was ranked No. 51 by ESPN, No. 54 by Rivals.com and No. 58 by Scout.com in the final national rankings. Being highly sought after Thomas eventually chose Iowa State over Virginia, Minnesota, Boston College and Marquette.
Recruitment profile
College career
Freshman season
Thomas began his true freshman campaign as a starter for Iowa State. He is only the 20th ISU freshman to start a season opener. He started in the first 15 games before being replaced in the starting line-up by Monte Morris. Despite becoming the 6th man, Thomas still appeared in all 36 games that season. Over the season Thomas averaged 5.5 points, scored in double figures eight times, shot 33.6% from behind the arc. He made four three-pointers in games twice during the season. He made a three in 25 games with 44 three-pointers total, which is good enough for second-most by a Cyclone freshman.
Sophomore season
Thomas spent two days in jail following his arrest for an OWI on July 14, 2014. Thomas began his sophomore season serving a three-game suspension.< Due to increased bench depth his sophomore season, Thomas saw a slightly diminished role. He saw action in 32 total games, scoring in double figures nine times. He was third on the team with 32 three-pointers made. Thomas grabbed a career-high eight rebounds and hit 5–6 shots to score 13 points against Alabama in the season opener. He led the Cyclones in scoring for the first time in his career against Lamar, with 14 points. He scored a career-high 17 points at Texas, included 4–6 from the three-point range.
Junior season
Due to the season-ending injury of Naz Long, Thomas moved back into the starting lineup.
Thomas played for the Los Angeles Lakers 2017 summer league team. He scored 23 points on 8–9 shooting in the summer league title game to help the Lakers to a 110–98 victory. On August 29, 2017, Thomas signed with Monbus Obradoiro of Spain's Liga ACB. In his first professional game of his career, Thomas recorded 21 points in 4-for-5 shooting from three-point line as he helped Obradoiro won against Zaragoza.
On July 11, 2018, Thomas signed a two-year deal with Valencia of Spain's Liga ACB. He had an effective field goal percentage of 99 percent on catch-and-shoot attempts when unguarded, picking up the nickname Mr. 99%.
Toronto Raptors (2019–present)
On July 19, 2019, Thomas signed with the Toronto Raptors. On October 26, 2019, Thomas made his NBA debut, scoring six points and grabbing three rebounds, in the Raptors 108–84 win over the Chicago Bulls. On November 25, Thomas suffered a fractured finger on his left hand. He returned to action on January 6, 2020, suiting up on a rehab assignment for the Raptors 905, the Raptors' NBA G League affiliate. On January 7, Thomas returned to the Raptors lineup recording eight points and a career-high six rebounds in the Raptors' 101–99 loss to the Portland Trail Blazers. On February 8, Thomas scored a career-high 15 points in a 119–118 win over the Brooklyn Nets. On February 23, Thomas bested his career high with 17 points and five 3-pointers in a 127–81 victory against the Indiana Pacers.