任何人都可以帮我找出
之间的区别for abc in xyz
和
for abc, n in xyz
我知道在第一种情况下,每次迭代都会将每个字母分配给abc。它与第二种情况有什么不同
答案 0 :(得分:2)
xyz=[(3,8),(23,13),(89,34)]
for abc, n in xyz: print( abc, " ## ",n)
结果:
3 ## 8
23 ## 13
89 ## 34
答案 1 :(得分:1)
最初两行都缺少$('#btnMan').click(function() {
if ($('#WrapOfPasengers div[data-number]').size() >= 6) {
$('#Modal .messageDanger').text('توجه!! امکان انتخاب بیش از 6 صندلی وجود ندارد.');
$('#Modal').modal('show');
///////////////////////////
return false;
///////////////////////////
}
if (ValidateGender(SeatNo, $('.seats > ul:nth-child(1) > li').length, 'man')) {
//-------------------
$('#WrapOfPasengers').append('<div class="btn-group" data-number="' + SeatNo + '"><button type="button" class="btn btn-info"> <span class="soap-icon-close" style="font-size: 25px"></span> <span class="spanNum">' + SeatNo + '</span> <span class="soap-icon-man-3" style="font-size: 25px"></span> </button></div>');
$('#' + SeatNo).addClass('selected');
$('div[data-number=' + SeatNo + ']').click(function() {
var id = $(this).attr('data-number');
$('#' + id).removeClass('btn-info').removeClass('selected').removeClass('btn-danger').addClass('btn-default');
$(this).remove();
});
$('#ModalInfo').modal('hide');
$('#' + SeatNo).switchClass("btn-default", "btn-info");
} else {
$('#ModalInfo').modal('hide');
}
});
。
第一个迭代字符串:
。这将为每个字符进行一次迭代。
第二个迭代变量'xyz'
。这可能是任何事情,因此没有任何关于结果迭代的说法。
第一个版本将项目分配给变量xyz
。第二个要求项目(每次迭代)成对,就像一个2元组。第一个值将分配给abc
,另一个值将分配给abc
。一个例子:
n
结果:
for i, character in enumerate('abc'):
print(i, character)
答案 2 :(得分:0)
这是在循环中进行“元组解包”。什么是元组解包?
>>> t = ("foo", "bar")
>>> a, b = t
>>> a
'foo'
>>> b
'bar'
这仅在元组具有与要将其解包的变量具有相同数量的元素时才有效。如果你有一个元组的列表(或生成器),你可以循环执行相同的操作。
一些例子:
>>> for a, b in zip("abc", "123"):
... print(a, b)
...
('a', '1')
('b', '2')
('c', '3')
>>> for i, e in enumerate("abc"):
... print(i, e)
...
(0, 'a')
(1, 'b')
(2, 'c')
答案 3 :(得分:0)
不同之处在于for abc, n in xyz
将解析xyz中的两个元素,例如,如果每个迭代都有xyz=[[1,2],[3,4]]
列表,则可以从内部列表中获取元素。但是,如果您有xyz[[1,2,3],[4,5,6]]
并且尝试for abc, n in xyz
,则会收到错误,因为有三个要解包的元素,那么您应该for abc, n, a in xyz
。
如果你执行for abc in xyz
,那么你将得到每个内部列表(但不是它们的元素被分开)。试试这些例子:
xyz=[[1,2],[3,4]]
for abc in xyz:
print abc
for abc, n in xyz:
print "first element", abc
print "second element", n
xyz = [[1,2,3],[4,5,6]]
# in this case you will get an error
for abc, n in xyz:
print "first element", abc
print "second element", n
# this one will work
for abc, n, a in xyz:
print "first element", abc
print "second element", n
print "third element", a