如果值为blan,如何在从dict打印时跳过该值

2024-04-26 17:17:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个口述

x4={'c;1': 'c4;;c6', 'b;1': 'a2;b2;c2;d2', 'b;0': 'A1;B1;C1;D1', 'a;1': 'a1;b1;c1;d1', 'a;0': 'A;B;C;D', 'c;0': 'c1;c2;c3'}

我正在使用此代码:

for k,v in x4.iteritems():
    a = k.split(";")
    b = v.split(";")
    if a[1] is not '0':
     val = x4[a[0]+';0']
     values = val.split(";")
     for i in range(len(values)):
         if values[i]=='' is True:
             b[i]=''
         else:
             print '<%s>%s<%s>' % (values[i],b[i],values[i])

其打印输出为

<c1>c4<c1>
<c2><c2>
<c3>c6<c3>
<A1>a2<A1>
<B1>b2<B1>
<C1>c2<C1>
<D1>d2<D1>
<A>a1<A>
<B>b1<B>
<C>c1<C>
<D>d1<D>

但我想要的是

<c1>c4<c1>
<c3>c6<c3>
<A1>a2<A1>
<B1>b2<B1>
<C1>c2<C1>
<D1>d2<D1>
<A>a1<A>
<B>b1<B>
<C>c1<C>
<D>d1<D>

不应打印“c2”。。我正在使用此代码打印分组数据。请帮帮我


Tags: a2a1b2b1d2d1valuesc2
1条回答
网友
1楼 · 发布于 2024-04-26 17:17:29
x4={'c;1': 'c4;;c6', 'b;1': 'a2;b2;c2;d2', 'b;0': 'A1;B1;C1;D1', 'a;1': 'a1;b1;c1;d1', 'a;0': 'A;B;C;D', 'c;0': 'c1;c2;c3'}

for k,v in x4.iteritems():
    a = k.split(";")
    b = v.split(";")
    if a[1] is not '0':
        val = x4[a[0]+';0']
        values = val.split(";")
        for i in range(len(values)):
            if values[i] is '':
                b[i]=''
            else:
                if  b[i]:
                    print '<%s>%s<%s>' % (values[i],b[i],values[i])

输出:

<A1>a2<A1>
<B1>b2<B1>
<C1>c2<C1>
<D1>d2<D1>
<c1>c4<c1>
<c3>c6<c3>
<A>a1<A>
<B>b1<B>
<C>c1<C>
<D>d1<D>

相关问题 更多 >