1
sunrisewestern 2021-08-31 02:46:52 +08:00
ls = [ str(b[i])+str(a[i]) for i in range(len(a)) ]
|
2
alfina OP @sunrisewestern 有办法根据需求自定义这个 ls 吗
|
3
sunrisewestern 2021-08-31 02:56:54 +08:00
@alfina 没懂你意思,这个方法其实也是创建新的 list 然后再往里面填元素,只是在一行实现了罢了
|
4
alfina OP @sunrisewestern
如果我的理解没错的话 这里的 ls 代表一个指向它背后实际值( [ str(b[i])+str(a[i]) for i in range(len(a)) ])的路径名称 但我上面提的例子和你的这个都是把这个路径的名称先手动定义出来 我可以叫他 ls,ts,zs,...只要符合规则允许啥都可以, 但这是我们人肉操作定义出来的 有没有办法让电脑去定义这个路径 (根据代码的命名规则自动生成 )然后为它定义的这些不同路径分配不同的值 |
5
Jwyt 2021-08-31 08:21:51 +08:00
def create_new_list(list1,list2)
你自己把这个写了不就好了? |
6
ila 2021-08-31 08:21:52 +08:00
两个方法:
1,globals 里增加。 2,eval 。 |
7
jmc891205 2021-08-31 09:07:26 +08:00
或者用 globals
或者你把所有 list 存在一个 dict 里面,用它们的变量名做 key 。然后把这个 dict 也传到你的 create_new_list 里面 |
9
aloxaf 2021-08-31 10:25:23 +08:00 2
这种扭曲的需求通常都是不会用 dict 导致的
|
10
craiiz 2021-08-31 18:14:41 +08:00
刚学编程的时候也想过这样的问题,但后来真没发现需要这么做的场景。是在要这样,你可以用 eval,或者用 dict
|
11
imn1 2021-09-06 19:25:05 +08:00
就是写个闭包啰,我写得多了
def create(lista, listb): return [f'{x[0]}{x[1]}' for x in zip(lista,listb)] 例如 opencv,我来来去去用的都是那几个函数,参数也固定,每次都去查 opencv 的手册累得慌,干脆就写个闭包,把几个函数和参数组合在一起,以后直接扔两个变量过去就行了,闭包内部识别转换,不用再研究是 color 还是 gray 这样的事情还有 pandas 、sklearn 、sqlite 等等,那些手册都是一整本书啊,不可能全记住,也不想每次花时间查,写个闭包就记住两三个传入变量就好了 |