【问题标题】:tuple unpacking in python using for loops?使用for循环在python中解包元组?
【发布时间】:2018-02-14 00:44:13
【问题描述】:
l=[(1,2),(3,4),(5,6)]
for (a,b) in list:
    for i in range(len(list)):
        if i%2==0:
            print(b)
            break
        else:
            print(a)
            break

输出-
2
4
6

预期产出-
1
4
5



请纠正它!

【问题讨论】:

  • 你推导 [1, 4, 5] 的逻辑是什么?
  • @jp_data_analysis 的逻辑是,对于第一个和第三个元组,它应该打印它的第一个数字(即 1 和 5),对于第二个元组它的第二个数字(4)。请帮忙

标签: python-3.x loops for-loop


【解决方案1】:

您可能希望更具体地说明您想要实现的目标。 根据您的“预期输出”,我假设您在索引为偶数时想要第一个元素,而在索引为奇数时想要第二个元素。

l=[(1,2),(3,4),(5,6)]
for idx, (x, y) in enumerate(l):
  val = x if idx%2==0 else y
  print(val)

【讨论】:

  • @harshul1 确定:D
  • 你能告诉你的代码有什么替代方法吗,哪里没有枚举函数?请
  • @harshul1 确定。但您需要记住,enumerate 是最“python”的方式。如果我使用 C,并且我想对一个元组进行曲折,我会定义一个二进制翻转器。这是python中的代码:f = 0 for z in l: print(z[f]) f ^= 1
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
相关资源
最近更新 更多