这是我先前问题的一个有力简化:)
有4个列表(在我的例子中,值是整数):
e00 = [AB, CA]
e01 = [BD, FK]
e10 = [AC, DF]
e11 = [DE, FB]
下一步:
a = input('Write a binary number. \n')
b = []
for i in range(len(a)-1):
c = a[i:i+2]
b.append(c)
例如,对于字符串00101
,我得到:
b = ['00', '01', '10', '01']
阶段:
'b'
中选择前两个值,即'00'
和'01'
e00
和e01
我比较上面的清单。我的代码仅适用于此案例:
a00 = pd.DataFrame({'A':e00})
a01 = pd.DataFrame({'B':e01})
a10 = pd.DataFrame({'C':e10})
a11 = pd.DataFrame({'D':e11})
b = []
for i in range(len(a)-1):
c = a[i:i+2]
b.append(c)
if b[0]=='00':
if b[1]=='01':
m001 = a00.assign(x=a00.A.str[-1]).merge(a01.assign(x=a01.B.str[0], B=a01.B.str[1:]))
v = (m001['A'] + m001['B'])
v.str.len() == v.apply(set).str.len()
c=v[v.str.len() == v.apply(set).str.len()].tolist()
它给出:
c = [ABD]
'b'
中选择第三个值,即'10'
c and e10
c = [ABDF]
'b'
,即'01'
c and e01
c = [ABDFK]
我希望现在的问题会更明朗:)
如果我理解的很清楚,那么您正在寻找一种动态访问
aXX
的方法,这样您就可以使用它们来执行计算。你知道吗你需要的是一本词典。你知道吗
您可以使用
b
的元素索引到dct
,并提取迭代所需的数据帧。你知道吗相关问题 更多 >
编程相关推荐