-1

and list of keys. I want to create a new pair list with increasing the number of elements in new pair list each time. I write a short python code for this, but its not doing what I expected, I can't find where I am doing Wrong.

    keys = ['83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439']
    k = 'cbbcfce733b1ae42c044131aab3e9439'
    freq = []
    pair = [k]

    for key in keys:
        pair.append(key)
        freq.append(pair)

    print(freq)

Expected Result:

[['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3'],
['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c'],
['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439'],
['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3'],
['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439']]

But I got following result:

[['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439'], ['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439'], ['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439'], ['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439'], ['cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cc657723152be15805bb53894486653c', 'cbbcfce733b1ae42c044131aab3e9439', '83eb48aa3c770a55eb194b3e8c8207e3', 'cbbcfce733b1ae42c044131aab3e9439']]

I spent more than hour but couldn't find where i am doing wrong.

GurhanCagin
  • 185
  • 2
  • 13

1 Answers1

0

Need to use .copy() function to create copy of the pair list element, seems python links to list variable when append to another list. to copy the current list, need to use .copy() like:

for key in keys:
        pair.append(key)
        freq.append(pair.copy())
GurhanCagin
  • 185
  • 2
  • 13