我正在创建一个程序,我必须逐个扫描2列。我无法附加有两列的列表。 例如:
>>> list1[['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]
>>> list1[0][2]
... 'a3'
>>> list1[0][2]+="Ratan"
>>> list1[0][2]
... 'a3Ratan'
>>> list2 = [["Ratan",[]],["Kanchan",[]]]
>>> list2
... [['Ratan', []], ['Kanchan', []]]
>>> list2[0][1]+=" Bhushan"
>>> list2[0][1]
... [' ', 'B', 'h', 'u', 's', 'h', 'a', 'n']
>>> list2
... [['Ratan', [' ', 'B', 'h', 'u', 's', 'h', 'a', 'n']],['Kanchan',[]]]
>>> list2[0][1]+=' Bhushan'
>>> list2
... [['Ratan', [' ', 'B', 'h', 'u', 's', 'h', 'a', 'n', ' ', 'B', 'h', 'u', 's', 'h', 'a', 'n']], ['Kanchan', []]]
>>> list2[0][1]+=str(' Bhushan')
>>> list2[0][1]
... [' ', 'B', 'h', 'u', 's', 'h', 'a', 'n', ' ', 'B', 'h', 'u', 's', 'h', 'a', 'n', ' ', 'B', 'h', 'u', 's', 'h', 'a', 'n']
我不明白为什么字符串连接不起作用。
请帮忙。
答案 0 :(得分:2)
list1[0][2]
是一个字符串,list2[0][1]
是一个列表。不同之处在于它们如何处理+=
运算符:
a = 'b'
a += 'bcd' # appends
# 'abcd'
a = ['a']
a += 'bcd' # extends the list by the iterable (string is iterable!)
# ['a', 'b', 'c', 'd']
如果要将元素附加到列表,请使用append
:
a.append('bcd')
# ['a', 'bcd']