The iPhone 7 is the latest and greatest version of the Apple iPhone, so pay monthly contract prices are high (especially compared to Android phones with a similar specification). Having said that, since it was launched in September 2016, prices have slowly reduced.
The cheapest contract we know about is from mobiles.co.uk on EE for £22.99 per month, with the handset itself costing £100 as a one-off upfront cost. This comes with unlimited minutes, unlimited texts and 2GB data per month. Averaging out the cost of the phone and the contract, this is equivalent to £27.16 a month.
For more data, O2 has a contract with 3GB for an average of £30.12 per month, 5GB can be bought for an average of £31.12 on EE and 8GB costs £34.38 on Three.