print '\n'.join("kg: %s %s and %s" % item for item in zip(kg, fruits, fruits2) if item[0].isdigit() and int(item[0]) >= 5 )
print '\n'.join("kg: %s %s and %s" % item for item in zip(kg, fruits, fruits2) if item[0].isdigit() and int(item[0]) >= 5 )
odnochlenЕсли очень нужно поймать почти все исключения, лучше ловить Exception, потому что выше него только SystemExit, KeyboardInterrupt и GeneratorExit.fata1exНельзя-то нельзя, но не подскажешь ли, как получить список всех возможных исключений, которые может бросить код?
except: pass
Так писать нельзя.
>>> a = [1,2,3] >>> a.index(4) Traceback (most recent call last): File "<input>", line 1, in <module> ValueError: 4 is not in list >>> a[3] Traceback (most recent call last): File "<input>", line 1, in <module> IndexError: list index out of range
Ed
И я хочу поучаствовать в конкурсе телепатов. Претендую на первое местоfruits = ['Apricot', 'Avocado', 'Pawpaw', 'Quince', 'Pineapple', 'Orange', 'Banana', 'Bergamot', 'Grape', 'Cherry', 'Pomegranate'] fruits2 = ['Grapefruit', 'Pear', 'fruits', 'Guava', 'Jackfruit', 'Durian', 'Melon; cantaloupe', 'Fig' 'Calamondin', 'Kaffir lime', 'Cashew', 'Kiwi'] kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] for kgs, fr1, fr2 in zip(kg, fruits, fruits2): try: if int(kgs) >= 5: print 'kg:', kgs, fr1, 'and', fr2 except ValueError: continue
paramanКак пример … легко!:
P.s. А можно ли в условие вставить диапазон: от 5 до 7, как пример?
print '\n'.join("kg: %s %s and %s" % item for item in zip(kg, fruits, fruits2) if item[0].isdigit() and 5<=int(item[0])<=7)
EdparamanКак пример … легко!:
P.s. А можно ли в условие вставить диапазон: от 5 до 7, как пример?print '\n'.join("kg: %s %s and %s" % item for item in zip(kg, fruits, fruits2) if item[0].isdigit() and 5<=int(item[0])<=7)
fruits = ['Apricot', 'Avocado', 'Pawpaw', 'Quince', 'Pineapple', 'Orange', 'Banana', 'Bergamot', 'Grape', 'Cherry', 'Pomegranate'] fruits2 = ['Grapefruit', 'Pear', 'fruits', 'Guava', 'Jackfruit', 'Durian', 'Melon; cantaloupe', 'Fig' 'Calamondin', 'Kaffir lime', 'Cashew', 'Kiwi'] kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] for kgs, fr1, fr2 in zip(kg, fruits, fruits2): try: if int(kgs) >= 5: print 'kg:', kgs, fr1, 'and', fr2 except ValueError: continue
minute.remove(m) hour.remove(h) second.remove(s) year.remove(y)
minute = [] hour = [] second = [] year = []
paramanТак пойдет?
А можно, как прежде?:
fruits = ['Apricot', 'Avocado', 'Pawpaw', 'Quince', 'Pineapple', 'Orange', 'Banana', 'Bergamot', 'Grape', 'Cherry', 'Pomegranate'] fruits2 = ['Grapefruit', 'Pear', 'fruits', 'Guava', 'Jackfruit', 'Durian', 'Melon; cantaloupe', 'Fig' 'Calamondin', 'Kaffir lime', 'Cashew', 'Kiwi'] kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] for kgs, fr1, fr2 in zip(kg, fruits, fruits2): if kgs.isdigit() and 5<=int(kgs)<=7: print 'kg:', kgs, fr1, 'and', fr2
P.s. На тему сокращения кода(оптимизации), а можно ли как-то сократить, а то есть кусок кода, где после удовлетворения условия приходится писать такие портянкиМожно. Только нужен код и отдельная тема.
EdparamanТак пойдет?
А можно, как прежде?:fruits = ['Apricot', 'Avocado', 'Pawpaw', 'Quince', 'Pineapple', 'Orange', 'Banana', 'Bergamot', 'Grape', 'Cherry', 'Pomegranate'] fruits2 = ['Grapefruit', 'Pear', 'fruits', 'Guava', 'Jackfruit', 'Durian', 'Melon; cantaloupe', 'Fig' 'Calamondin', 'Kaffir lime', 'Cashew', 'Kiwi'] kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] for kgs, fr1, fr2 in zip(kg, fruits, fruits2): if kgs.isdigit() and 5<=int(kgs)<=7: print 'kg:', kgs, fr1, 'and', fr2P.s. На тему сокращения кода(оптимизации), а можно ли как-то сократить, а то есть кусок кода, где после удовлетворения условия приходится писать такие портянкиМожно. Только нужен код и отдельная тема.
fruits = ['Apricot', 'Avocado', 'None', 'Quince', 'Pineapple', 'Orange', 'Banana', 'Bergamot', 'Grape', 'Cherry', 'None'] fruits2 = ['Grapefruit', 'Pear', 'fruits', 'Guava', 'Jackfruit', 'Durian', 'Melon; cantaloupe', 'Fig' 'Calamondin', 'Kaffir lime', 'Cashew', 'Kiwi'] kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] for fr1, fr2, kgs in zip(fruits, fruits2, kg): try: if fr1 == 'None': fruits.remove(fr1) fruits2.remove(fr2) kg.remove(kgs) except ValueError: continue
kg = ['10','4','10','6','13','1','13','36:7','10','20:10', '4'] f = zip(kg) print f [('10',), ('4',), ('10',), ('6',), ('13',), ('1',), ('13',), ('36:7',), ('10',), ('20:10',), ('4',)] int(f[1]) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: int() argument must be a string or a number, not 'tuple' >>> int(kg[1]) 4
>>> a = [66.25, 333, 333, 1, 1234.5] >>> zip(a) [(66.25,), (333,), (333,), (1,), (1234.5,)] >>> a1 = zip(a) >>> a1.index(333) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 333 is not in list >>> a.index(333) 1 >>>
paramanвыдают, что вы этой базой не владеете, а значит нужно её приобретать.
мы преобразуем массив kgs в int и производим сравнение. Как же он потом вытаскивает индексы, да ещё и потом вытаскивает значения из других массивов с теми же индексами.