I'd like to create a list of tuples where each tuple contains the data from the fields of one feature class: the objective is to iterate through the list and add fields of the name, type and length provided in each of the tuples to a different feature class. I've hit a snag and I'm sure how to un-snag myself:
fc <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\path\to_gdb\featureClass'</SPAN>
fieldList <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="keyword token">for</SPAN> f <SPAN class="keyword token">in</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListFields<SPAN class="punctuation token">(</SPAN>fc<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
x <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN>f<SPAN class="string token">'("{f.name}","{f.type}",{f.length})'</SPAN><SPAN class="punctuation token">)</SPAN>
fieldList<SPAN class="punctuation token">.</SPAN>append<SPAN class="punctuation token">(</SPAN>x<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>works pretty good, but not quite perfect. Each of the tuples is bounded by single quotes so if I try to use the tuple indexes to extract a tuple element, things head south:
fieldList
Out[79]:
['("OBJECTID","OID",4)',
'("SHAPE","Geometry",0)',
'("siteaddid","String",20)',
'("addressptid","String",20)',
'("rclnguid","String",254)',
'("discrpagid","String",75)',
'("preaddrnum","String",5)',
'("addrnumsuf","String",5)',
...]<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>I can cheat (and I have) and just copied and pasted fieldList to notepad and deleted the single quotes, but that's using a hammer; how would I create a clean list of tuples without the bounding single quotes:
cleanList
Out<SPAN class="punctuation token">[</SPAN><SPAN class="number token">82</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'OBJECTID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'OID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'SHAPE'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'Geometry'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'siteaddid'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">20</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'addressptid'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">20</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'rclnguid'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">254</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'discrpagid'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">75</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'preaddrnum'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'addrnumsuf'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'String'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">5</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>