|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大佬们,请问怎样才能在改数值的时候不影响其他列表?
>>> lst1
[[1, 2, 3], [4, 5, 6]]
>>> lst2
[[1, 2, 3], [4, 5, 6]]
>>> lst3
[[1, 2, 3], [4, 5, 6]]
>>> lst4
[[1, 2, 3], [4, 5, 6]]
>>> lst2[0][0] = 8
>>> lst1
[[8, 2, 3], [4, 5, 6]]
>>> lst2
[[8, 2, 3], [4, 5, 6]]
>>> lst3
[[8, 2, 3], [4, 5, 6]]
>>> lst4
[[8, 2, 3], [4, 5, 6]]
>>>
本帖最后由 Twilight6 于 2021-6-5 16:17 编辑
exec 函数那可以直接这样写,可以不用加列表推导式:
lst1 = [[1, 2, 3], [4, 5, 6]]
for i in range(2,5):
exec(f'lst{i} = '+str(lst1))
lst1[0][0] = 8
print(lst1,'\n',lst2,'\n',lst3,'\n',lst4)
exec 函数可以读取在字符串中的代码语句,符合 Python 语法要求即可
这里 for 循环中进行字符串拼接 相当通过 exec 函数于执行这三个字符串:
'lst2 = [[1, 2, 3], [4, 5, 6]]'
'lst3 = [[1, 2, 3], [4, 5, 6]]'
'lst4 = [[1, 2, 3], [4, 5, 6]]'
|
|