Ich versuche, eine Ausgabe von unten dict als Tupel unten-Python Wörterbuch Werte in Tupel basierend auf Zustand
Eingang erwähnt zu erhalten: b = { 'a': '1', 'S1': 'OptionA', 'P1': '100', 'S2': '', 'P2': '', 'S3': 'OptionB', 'P3': '80'}
Ausgabe: [('optiona', '100'), ('OptionB', '80')]
ich habe für diese codiert wie unten, aber ich mag ein kürzeres Verfahren, kann dich jemand bitte vorschlagen -
import re
b = {'a':'1','S1':'OptionA','P1':'100','S2':'', 'P2':'','S3':'OptionB','P3':'80'}
c =[]
for k,v in b.items():
if k.startswith('S') and v:
for i,j in b.items():
if i.startswith('P') and re.search(r'\d+$', k).group() == re.search(r'\d+$', i).group():
c.append(tuple([v,j]))
print(c)
Funktioniert Ihre Lösung? Wenn ja, was meinst du mit einer "kürzeren Methode"? schneller? weniger Linien? ... ?? Warum magst du deine Lösung nicht? – wwii
Die Lösung funktioniert, ich will nur weniger Zeilen – LalitK