Объединение объекта в списокPython

Программы на Python
Ответить
Anonymous
 Объединение объекта в список

Сообщение Anonymous »

Я работаю с Python. Я пытаюсь предварительно заполнить список с помощью цикла. У меня уже есть правильные значения для записи в список с множеством отдельных команд после создания каждого поля ввода. Но цикл был бы более эффективным.
Я делаю так:

Код: Выделить всё

WOBOXES = []

for i in range(117):
if i == 0:
WOBOXES.append("")
if i > 0:
a = i + 1
b = ""
WOBOXES.append(b)
Вроде как это работает. Выход . . .

Код: Выделить всё

'', '', '', etc.
Но результат должен быть . . .

Код: Выделить всё

, , , etc.
Когда я пытаюсь сделать это без знака "" вокруг текста, я получаю сообщение об ошибке. Чтобы объекты в списке функционировали должным образом, их необходимо записать в список без "", чтобы их не было в списке с '' вокруг текста.
Есть идеи, как их записать, чтобы они правильно попадали в список, без одинарных или двойных кавычек?
Изменить:У меня тринадцать рядов по девять входных ячеек в каждом. Они предназначены для указания поставщика, номера приобретенной детали, отображаемого номера детали, описания детали или услуги, количества, стоимости детали, розничной цены, рабочего времени и трудозатрат.
слева от каждой строки находится ряд из трех кнопок. Один для удаления строки, один для смещения строки на единицу вниз и один для смещения строки на единицу вверх.
Чтобы кнопка удаления работала, мне нужно скопировать значения из строку под ней, удалите удаляемую строку, перезапишите значения из строки ниже в текущую строку, а затем повторите процесс до последней строки. Это много переменных и много работы.
Простой цикл прекрасно справился с утомительной работой. Но для этого нужен словарь и список. В словаре хранятся значения, а в списке есть поля ввода, поэтому цикл знает, куда записывать значения словаря.
В текущей версии, которая работает, я создаю поле ввода и затем добавьте его в список. Он записывает в список без одинарных кавычек ''. Когда я пытаюсь заранее записать поля ввода в список, они записываются с одинарными кавычками.
Надеюсь, это достаточно объясняет, почему я пытаюсь это сделать. это.
Тот же процесс одновременно поможет в работе других кнопок. Мне нужно настроить его только один раз.
Изменить:
Пример длинного кода, как и просили.

Код: Выделить всё

#Work Order Entry Box Dictionary
IE = {}
for i in range(117):
IE[i] = None #This presets all my keys with blank values.

#Work Order Box List
WOBOXES = [] #Empty list.  Would like to prefill it with a loop.

def vendor_1(event):
IE[0] = vendbox1.get() #This writes the box data to the dictionary as I type.
vendfrm1 = tkinter.Frame(master=wofrm, bg="#b2b4b7", width=58, height=25, borderwidth=2, relief=tkinter.SUNKEN) #This is for visual effect, lacking a margin option in an Entry box.
vendfrm1.place(x=144, y=110)
vendbox1 = tkinter.Entry(master=wofrm, bg="#b2b4b7", fg="#000000", width=8, borderwidth=0, relief=tkinter.FLAT)
vendbox1.place(x=150, y=114)
WOBOXES.append(vendbox1) #This adds the box to the list.
vendbox1.bind("", vendor_1) #This runs the function to write the Entry box data to the dictionary.

def on_enter(event):
DelBut1.config(bg="#333537")
def on_leave(event):
DelBut1.config(bg="#292d2e") #These two functions are hover highlights.

#This is the code for the first delete button to delete the current row and move all the others up.
def del1(event):
for i in range(108):
a = i + 9
IE[i] = IE[a]
IE[a] = None
for j in range(117):
textbox = WOBOXES[j]
textbox.delete(0, tkinter.END)
for k in range(117):
if IE[k] == None:
continue
textbox = WOBOXES[k]
textbox.insert(0, IE[k])

#This is the button and its bindings.
DelBut1 = tkinter.Button(master=wofrm, width=3, bg="#292d2e", fg="#962d10", text="X", relief=tkinter.FLAT, takefocus=False)
DelBut1.place(x=46, y=110)
DelBut1.bind("", on_enter)
DelBut1.bind("", on_leave)
DelBut1.bind("", del1)
Это показывает одно поле ввода, одну кнопку удаления и код цикла для запуска удаления строки. Есть еще 116 полей ввода и еще 12 кнопок удаления. Но это должно адекватно показывать то, что я делаю.

Подробнее здесь: https://stackoverflow.com/questions/791 ... for-a-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»