将列表的第n个元素与另一个第n个元素进行比较,然后交换if语句true PYTHON 3.4.3
我有两张单子。它们都与剧院的礼堂有关。 第一个列表包含椅子的占用情况,如下所示: xxooxoxoooxoxo ooxoxooxoooxox ... ... 33221111112233 33333222233333 ... ... 3xxx11xx1xx2xx ... ...将列表的第n个元素与另一个第n个元素进行比较,然后交换if语句true PYTHON 3.4.3,python,list,element,Python,List,Element,我有两张单子。它们都与剧院的礼堂有关。 第一个列表包含椅子的占用情况,如下所示: xxooxoxoooxoxo ooxoxooxoooxox ... ... 33221111112233 33333222233333 ... ... 3xxx11xx1xx2xx ... ... def foo2(): l1 = ['xxooxoxoooxoxo', 'ooxoxooxoooxox'] l2 = ['33221111112233' , '33333222233333'] l
def foo2():
l1 = ['xxooxoxoooxoxo', 'ooxoxooxoooxox']
l2 = ['33221111112233' , '33333222233333']
l = []
for i, row in enumerate(l1):
t = [x if x is 'x' else l2[i][j] for j,x in enumerate(row) ]
l.append(''.join(t))
print l
我想做第三份清单,上面显示了空椅子的价格类别,如下所示:
xxooxoxoooxoxo
ooxoxooxoooxox
...
...
33221111112233
33333222233333
...
...
3xxx11xx1xx2xx
...
...
def foo2():
l1 = ['xxooxoxoooxoxo', 'ooxoxooxoooxox']
l2 = ['33221111112233' , '33333222233333']
l = []
for i, row in enumerate(l1):
t = [x if x is 'x' else l2[i][j] for j,x in enumerate(row) ]
l.append(''.join(t))
print l
我在行RowCat[icatRow][chairPrice]=行[iRow][chairNumber]中收到以下错误:
TypeError:“str”对象不支持项分配
你能帮我做这个吗
谢谢 您的代码不是很像Python。试试像这样的东西
l1 = ['x','o','x']
l2 = [1,2,3]
l3 = [ r if r == 'x' else p for r,p in zip(l1,l2)]
返回一个带有
['x', 2, 'x']
你的代码不是很像Python。试试像这样的东西
l1 = ['x','o','x']
l2 = [1,2,3]
l3 = [ r if r == 'x' else p for r,p in zip(l1,l2)]
返回一个带有
['x', 2, 'x']
我是这样做的: xxooxoxoooxoxo ooxoxooxoooxox ... ... 33221111112233 33333222233333 ... ... 3xxx11xx1xx2xx ... ...
def foo2():
l1 = ['xxooxoxoooxoxo', 'ooxoxooxoooxox']
l2 = ['33221111112233' , '33333222233333']
l = []
for i, row in enumerate(l1):
t = [x if x is 'x' else l2[i][j] for j,x in enumerate(row) ]
l.append(''.join(t))
print l
我是这样做的: xxooxoxoooxoxo ooxoxooxoooxox ... ... 33221111112233 33333222233333 ... ... 3xxx11xx1xx2xx ... ...
def foo2():
l1 = ['xxooxoxoooxoxo', 'ooxoxooxoooxox']
l2 = ['33221111112233' , '33333222233333']
l = []
for i, row in enumerate(l1):
t = [x if x is 'x' else l2[i][j] for j,x in enumerate(row) ]
l.append(''.join(t))
print l
您可以使用和执行以下操作:
您可以使用和执行以下操作:
试试这个:
for row, price in zip(rows, prices):
new_row = ''
for char,pri in zip(row,price):
if char == 'o':
new_row += str(pri)
else:
new_row += char
print(new_row)
对于样本数据
rows = ['xoxo','oxox']
prices = ['1234','5678']
请注意,这里使用字符串相当于使用列表列表,因为在许多情况下,字符串可以在Python中被视为列表,例如遍历字符串中的所有字符/遍历列表中的所有元素
我出去:
x2x4
5x7x
当然,您可能希望将printnew_行更改为您希望对被操纵行执行的任何操作,请尝试以下操作:
for row, price in zip(rows, prices):
new_row = ''
for char,pri in zip(row,price):
if char == 'o':
new_row += str(pri)
else:
new_row += char
print(new_row)
对于样本数据
rows = ['xoxo','oxox']
prices = ['1234','5678']
请注意,这里使用字符串相当于使用列表列表,因为在许多情况下,字符串可以在Python中被视为列表,例如遍历字符串中的所有字符/遍历列表中的所有元素
我出去:
x2x4
5x7x
当然,您会想更改printnew_row行,以便对您的操纵行执行任何您想执行的操作,只是为了好玩:l3=[seat[0 if'x'in seat else 1]用于zipl1、l2]中的座位或maplambda x:x[0]如果x[0]='x'else x[1],zipl1、l2只是为了好玩:l3=[seat[0 if'x'in seat else 1]用于zipl1、l2]中的座位或maplambda x:x[0]如果x[0]=='x'其他x[1],zipl1,l2