On Tue, 21 May 2019 at 09:25, Frank Millman <fr...@chagford.com> wrote: > > On 2019-05-21 9:42 AM, Madhavan Bomidi wrote: > > Hi, > > > > I need to create an array as below: > > > > tempStr = year+','+mon+','+day+','+str("{:6.4f}".format(UTCHrs[k]))+','+ \ > > str("{:9.7f}".format(AExt[k,0]))+','+str({:9.7f}".format(AExt[k,1]))+','+ \ > > str("{:9.7f}".format(AExt[k,2]))+','+str("{:9.7f}".format(AExt[k,3]))+','+ \ > > str("{:9.7f}".format(AExt[k,4]))+','+str("{:9.7f}".format(AExt[k,5]))+','+ \ > > str("{:9.7f}".format(AExt[k,6]))+','+str("{:9.7f}".format(AExt[k,7]))+','+ \ > > str("{:9.7f}".format(AExt[k,8]))+','+str("{:9.7f}".format(AExt[k,9])) > > > > > > k is a row index > > > > Can some one suggest me how I can iterate the column index along with row > > index to concatenate the string as per the above format? > > > > Thanks in advance > > > > The following (untested) assumes that you are using a reasonably > up-to-date Python that has the 'f' format operator. > > tempStr = f'{year},{mon},{day},{UTCHrs[k]:6.4f}' > for col in range(10): > tempStr += f',{AExt[k, col]:9.7f}' >
As a minor performance note (not really important with only 10 items, but better to get into good habits from the start): temp = [f'{year},{mon},{day},{UTCHrs[k]:6.4f}'] for col in range(10): temp.append(f',{AExt[k, col]:9.7f}') tempStr = ''.join(tempStr) Repeated concatenation of immutable strings (which is what Python has) is O(N**2) in the number of chunks added because of the need to repeatedly copy the string. Paul -- https://mail.python.org/mailman/listinfo/python-list