Eval trong Python List

chào mọi người, mình đang tìm hiểu về python, mình có làm bài tập trên hackerrank.com và có gặp một bài tập ở bài list:
link bài tập https://www.hackerrank.com/challenges/python-lists/problem
và bài giải hay nhất

n = input()
l = []
for _ in range(n):
    s = raw_input().split()
    cmd = s[0]
    args = s[1:]
    if cmd !="print":
        cmd += "("+ ",".join(args) +")"
        eval("l."+cmd)
    else:
        print l

có ai giải thích giùm mình:

  • hàm eval ở đây là hàm gì,hoạt động thế nào
  • cmd += “(”+ “,”.join(args) +")" câu lệnh này sẽ chạy thế nào.
    mình cảm ơn ^^

câu lệnh cmd += “(”+ “,”.join(args) +")" thì khi đó biến cmd sẽ thành insert(args[0],args[1]) hoặc remove(args[0]) ví dụ insert(0,5) hay remove(6)
còn lệnh eval() dùng để thực thi lệnh l.insert(0,5) ở trên với l là cái list đã tạo ở trên

1 Like

cảm ơn các bạn đã giải đáp

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?