我在python程序中使用list,以下是代码
x = [['Port', 'Status']]
x.append({11,'Open'})
x.append({22,'Close'})
x.append({356,'Open'})
x.append({1024,'Close'})
x.append({512,'Open'})
x.append({777,'Close'})
print(x)
上面的输出是
[['Port', 'Status'], set([11, 'Open']), set(['Close', 22]), set(['Open', 356]), set([1024, 'Close'])
, set([512, 'Open']), set([777, 'Close'])]
问题是输出不是输入的顺序。即在某些情况下,字符串在整数之前出现,反之亦然。请帮忙。
答案 0 :(得分:1)
设置无序,您可以使用tuple
或list
代替:
x = [['Port', 'Status']]
x.append((11,'Open'))
答案 1 :(得分:0)
集合是无序集合,没有重复元素
for example:
>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>> print(basket) # see that duplicates have been removed
>> {'orange', 'banana', 'pear', 'apple'}
you can see that order has changed.
您正在追加已设置的{11,'打开&#;;},可以在运行时更改订单。如果您想维护订单,请更好地使用有序数据结构。
for example use like this:
>> x.append((11, 'Open'))
or
>> x.append([11, 'Open'])
答案 2 :(得分:0)
简单地使用[]代替{}作为jyotish暗示。
答案 3 :(得分:0)
您正在使用集合作为值的容器,这些值没有固定的顺序。
相反,您可以使用元组(例如(11, 'Open')
)或其他列表(例如[11, 'Open']
)。但是元组在这里可能是更好的匹配。