我想将一个项目附加到list_b
只有'5H'
'6H'
以上的list_a = ('2A','4A','8H','6H')
list_b = ['5H']
list_a.pop()
'6H'
提供append
因此,如果我'6H'
list_b
它应该能够添加到'5H'
,因为它只有一个1
。
我尝试比较第一个值但是它会出错,因为下面代码中的int
是list_b[-1][0]
而str
是if list_b[-1][0] + 1 != list_a.pop()[0]:
print('Error')
。
list_b[-1][0] + 1
因此我无法使用{{1}}
答案 0 :(得分:1)
使用int
:
if int(list_b[-1][0]) + 1 != int(list_a.pop()[0]):
print('Error')
答案 1 :(得分:0)
首先,您的list_a
是tuple
,而不是列表。检查括号。
如果
list_a = ['2A','4A','8H','6H']
list_b = ['5H']
你可以这样做:
while list_a:
t = list_a.pop()
if int(t[0]) == int(list_b[-1][0]) + 1:
list_b.append(t)
else:
print 'Error'
迭代地处理list_a
的元素。
答案 2 :(得分:0)
假设list_a
确实是一个列表,而不是一个元组,否则list_a.pop()
将不起作用......
你需要做两件事:
(1)将第一个字符转换为int
,以便您可以正确比较它们
(2)检查第二个字符是否相同......从您的问题描述中,'6G'
和'6I'
(以及许多其他字符)中的内容似乎不正确
b_value = list_b[-1]
a_value = list_a.pop()
ok = int(b_value[0]) + 1 == int(a_value[0]) and b_value[1] == a_value[1]
答案 3 :(得分:0)
使用列表理解:
list_b.extend([i for i in list_a if int(i[0]) == (int(list_b[-1][0]) + 1)])