Қосуға және өңдеуге арналған әртүрлі өрістер

Мұны істеу тәсілі бар ма?

Бір нәрсе:

if not obj:
     fields = ( field1, )
else:
     fields = ( field1, field2 )

Алдын-ала рақмет.

0
Өрістер қандай?
қосылды автор Ignacio Vazquez-Abrams, көзі

1 жауаптар

Ең қарапайым және анық шартты өрнектер болуы мүмкін:

 fields = (field1,field2) if obj else (field1,)
2
қосылды
ОП деректерінің қалай ұйымдастырылғаны белгісіз. Егер өрістер топтаманың дәйекті элементтері болса, ол тіпті қарапайым: «field = t [1: 2 if obj else 3]».
қосылды автор Raymond Hettinger, көзі
Бұл кодтың бір жолын алады, бірақ field1 қайталануын талап етеді. Егер сіз оны болашақта өзгертуіңіз қажет болса, filed1 екеуін де өзгертуіңіз керек. Сондықтан кодты үш жолға дейін кеңейтуді ұсынамын: fields = (өріс1,) , if , өрісі. Add (өріс2)
қосылды автор Kirill, көзі
yep, Python ядросының әзірлеушісі үшін қарапайым, бірақ мен үшін емес)
қосылды автор Kirill, көзі