Python初心者はこちら。さまざまな長さのリストを含むリストで基本的な機能を実行しようとしています。これらのリスト内には、範囲として使用する予定の要素のペアを含むタプルがあります。これらの要素を整数に変換してから、整数を使用して新しいタプルを作成し、その後2
にイテレータを表す。を作成します。
私が欲しいl
:
l = [[('100', '200'), ('300', '400'), ('500', '600')], [('100', '200')], [('100', '200')]]
に置き換えられますl_upd
l_upd = [[(100, 200, 2), (300, 400, 2), (500, 600, 2)], [(100, 200, 2)], [(100, 200, 2)]]
これは明らかに機能しません(そして、要素として配置する方法を理解できませんでした2
:
l1 = []
l2 = []
for pairs in l:
for pair in pairs:
l1.append(int(i[0]))
l2.append(int(i[1]))
l_upd = zip(l1, l2)
if
編集: 、else
ステートメントを含める必要があるため、リスト内包法は使用したくありません。一部の要素には文字が含まれ、一部は空です。
これらの例外には、次のようなものが必要です。
for pair in pairs:
if pair[0].isdigit():
addr_from.append(int(i[0]))
elif pair[0].isalnum() is True and pair[0].isdigit is False:
addr_from.append(re.sub(r'((?:[A-Z].*?)?(?:\d.*?)?[A-Z]+)(\d+)',r'\1%\2',pair[0]))
else:
addr_from.append(pair[0])
if pair[1].isdigit():
addr_to.append(int(i[1]) + 2)
elif pair[1].isalnum() is True and pair[1].isdigit is False:
addr_to.append(re.sub(r'((?:[A-Z].*?)?(?:\d.*?)?[A-Z]+)(\d+)',r'\1%\2',pair[1]))