如何用缺失值填充列表

时间:2019-07-17 18:07:02

标签: python-3.x list dictionary spyder

我正在尝试读取gpx文件,现在速度值在文件中不会出现常量。当我保护这些值时,我只能在完整列表中对其进行保护:

speed []
for speeds in elements:

                   speed.append(speeds.text)
                   new = int((speeds.sourceline)*0.132)
                   speedline.append(new)
for elevation in elements:
   elevation.append(elevation.text)

问题是:例如len(hdop)= 1000而len(speed)仅700 所以我的解决方案是,创建一个新列表,其中速度位于文件-> speedline-list

现在,我尝试了一些函数来获取一个新的速度列表,该列表的长度与海拔列表相同,但是它们都不起作用,请帮助我:

这是我完整的工作脚本:

def komplettlist(speed,speedline,grenze):
i = 0
newdict = {speedline[1::],speed[1::]}
for i in range(grenze):
    i = i+1
    if newdict.has_key(i):
        print("all good")
    if newdict.has_key(i) == False:
        newdict.add(i,"0")

return(newdict)


    #if speedline[i] != i:
        #speedline.insert(i,i)
     #   print(speedline[i], i)
      #  speedline.insert(i,i)
       # i = speedline[i]
def ergänzedict(dicct, grenze):
  index = 0
  while index < (grenze):
    index = index +1
    key = dicct.keys()
    value = dicct.values()
    if key[index] == index:
        print("das klappt")

    if key[index] != index:
        dicct[index] = 0
        print("das nicht",key[index],index)
        print(key[index])
        print(index)
        #for key, value in sorted(mydict.items(), key=lambda item: 
item[1]):
         #   print("%s: %s" % (key, value))
 def ergänzeliste(newlist,grenze):
indexi = 1

#print ('Index of chemistry', newlist.index(indexi))
print ('Index of C#', newlist.index(1))
while index < (grenze):
        indexi = indexi+1
        doubleindex = indexi*2
        if (newlist[indexi]) == indexi:
            print("das klappt")

        if (newlist[indexi]) != indexi:

            print("das nicht",newlist[indexi],indexi)
print(len(newlist)) 
return()

我希望有一个速度列表,其大小与hdop相同,只有0个值,其中文件没有有关速度的信息

def findewasneues(root):
    #print(etree.iselement(root))
    #if len(root):
     #   print("Root has children)")
    ns1 ="{http://www.topografix.com/GPX/1/1}hdop"
    ns2 ="{http://www.topografix.com/GPX/1/1}ele"
    ns3 ="{http://www.topografix.com/GPX/1/1}time"
    ns4 ="{http://www.topografix.com/GPX/1/1}extensions"
    ns5 ="{http://www.topografix.com/GPX/1/1}speed"
    wptID = []
    Gesamt = []
    hdop = []
    ele = []
    speed = []
    time = []
    lat = []
    lon = []
    speed = []
    speedline = []
    e= 0

    for trk in root:
        #print(trk.tag)
        for trkseg in trk:
            #print(trkseg.tag)
            for trkpt in trkseg:
                trkpt.get("lat")
                trkpt.get("lon")
                #print(trkpt.get("lat"))
                #print(trkpt.get("lon"))
                lat.append(trkpt.get("lat"))
                lon.append(trkpt.get("lon"))

               #print(trkpt.tag)
                for elements in trkpt: # elements: ele,time,hdop,extenstions



                   #print(elements.tag)
                   #Gesamt = Gesamt.append(elements.text)
                  # print(elements.text)
                   #print(elements.tag)
                   #if elements.tag == "{http://www.topografix.com/GPX/1/1}speed" or elements.tag == "{http://www.topografix.com/GPX/1/1}extensions" :

                     # speed.append(elements.text)
                   if elements.tag == ns1 :
                      hdop.append(elements.text)



                   for speeds in elements:
                       e = e +1
                       speed.append(speeds.text)
                       new = int((speeds.sourceline)*0.131)
                       speedline.append(new)
                       #print(new)
                       #print(speeds.sourceline)

                       #print(speeds.text)

                      #print(elements.tag)
    #dict = {speedline,speed}

    neu =list(enumerate(speedline))
    neu2 = []
    neu3 = []
    for e in neu:
        if e not in neu2:
            neu2.append(e)
            neu3.append(e)
    #print(neu3[0][2])
    #leng = len(neu3/2)
   # e = 0


    list4 = []
    diff = len(hdop)-len(neu3)
    print(diff)
    d = 0
    for d in range(diff):
        list4.append(0)
        d = d +1

    #print(list4)
    #print(len(speed))#237 inhalt: speedwerte
    kts = []
    spl = []
    for e in neu3:
        kts.append(e[0])#keytospeedline
        spl.append(e[1])#speedline
    print(len(list4))#60 inhalt: nullen
    #print(len(kts))#237 inhalt: ids zu den wptids
    print(len(spl))#237 inhalt: wptids
    print(kts)
    print(spl)
    newspeedlist =coolmethod(speed,kts,spl,list4)#insertmissingzeroelemntstospeedlistfunction

    #print(newspeedlist)
    #print(len(newspeedlist))



       #liste1: die speed liste
    def coolmethod(speed,kts,spl,list4):
        nl=[]
        e = 0
        b = len(list4)#anzfehlendereinträge
        a = len(speed)#anzspeedeinträge
        einträge = a+b#anzahl gesamteinträge
        print(einträge)
        for e in kts:
                if e < spl[e]:
                    nl.append("0")
                #if kts[e] >= spl[e]:
                nl.append(speed[e])
                e = e+1

        return(nl)

输出: 60 297 60 237 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,16,17,18,19,20,21,22,23,24 ,25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49 ,50、51、52、53、54、55、56、57、58、59、60、61、62、63、64、65、66、67、68、69、70、71、72、73、74 ,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99 ,100、101、102、103、104、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、120、121、122、123、124 ,125、126、127、128、129、130、131、132、133、134、135、136、137、138、139、140、141、142、143、144、145、146、147、148、149 ,150、151、152、153、154、155、156、157、158、159、160、161、162、163、164、165、166、167、168、169、170、171、172、173、174 ,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199 ,200、201、202、203、204、205、206、207、208、209、210、211、212、213、214、215、216、217、218、219、220、221, 222、223、224、225、226、227、228、229、230、231、232、233、234、235、236] [7、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、31、32、33、36、37、38 ,39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、55、56、57、58、59、60、61、62、63、64 ,65,66,67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90 ,91、92、93、94、95、96、97、99、100、101、102、103、104、105、106、107、108、109、110、111、112、113、114、115、116 ,117、118、119、121、129、131、132、133、134、135、136、137、138、139、140、141、142、143、144、145、146、147、148、149、150 ,151、153、154、155、156、157、158、159、160、161、162、163、164、165、166、167、168、169、170、171、172、173、175、176、177 ,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,196,204,206,207,208,209,211,212,213 ,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,232,233,234,235,236,237,238,239 ,240,241,242,243,244,245,246,247,248,249,250,251,252,254,255,256,257 ,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,276,277,278]

0 个答案:

没有答案