1、字符串转换成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
>>>b = eval(a)
>>>print b[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>>type(b)
2、字符串转换成字典
>>>a = "{1: 'a', 2: 'b'}"
>>>type(a)
>>>b = eval(a)
>>>print b{1: 'a', 2: 'b'}
>>>type(b)
3、字符串转换成元组
>>>a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>>type(a)
>>>b = eval(a)
>>>print b([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>>type(b)
4、eval()函数传进去的参数必须是字符串或者是对象
示例1:
>>>a=10
>>>print(eval("a+1"))
>>>执行结果: 11
示例2:
>>>a=10
>>>g={'a':4}
>>>print(eval("a+1",g))
>>>执行结果:5
示例3:
>>>a=10
>>>b=20
>>>c=30
>>>g={'a':6,'b':8}
>>>t={'b':100,'c':10}
>>>print(eval('a+b+c',g,t))
>>>执行结果:116 (a=6, b=100, c=10)
5、eval函数,eval去除引号后会检查到它是不是可计算的,如果可计算会将计算的结果打印出来,如果不可计算直接返回结果
示例1:不可计算》》》直接输出结果
>>>s='["a","b","c"]'
>>>print(eval(s))
>>>执行结果: ['a', 'b', 'c']
示例2:表达式可计算》》》计算之后输出结果
>>>s='abs(-10)'
>>>print(eval(s))
>>>输出结果:10
5、eval()函数,功能是将string变成算术表达式来执行
示例1:
>>>eval("1+2")
>>>执行结果: 3
示例2:
>>>eval("print(\"hello, world\")")
>>>输出结果:hello, world
Python实现的排列组合计算操作示例本文实例讲述了Python实现的排列组合计算操作。分享给大家供大家参考,具体如下:
1. 调用 scipy 计算排列组合的具体数值
>>from scipy.special import comb, perm
>>perm(3, 2)
6.0
>>comb(3, 2)
3.0
2. 调用 itertools 获取排列组合的全部情况数
>>from itertools import combinations, permutations
>>permutations([1, 2, 3], 2)
<itertools.permutations at 0x7febfd880fc0>
# 可迭代对象
>>list(permutations([1, 2, 3], 2))
[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
>>list(combinations([1, 2, 3], 2))
[(1, 2), (1, 3), (2, 3)]